PROPELOO

IOS APP DEVELOPMENT

Build iOS apps that Apple approves and users keep.

PROPELOO engineers native iOS applications in Swift — from architecture and SwiftUI through Core Data, push notifications, App Store submission and the performance optimisation that determines your App Store rating. Native iOS done right is invisible to users. Done wrong, it shows in every frame drop and every crash report.

iOS users spend 2x more than Android users. The native experience is what justifies that spend.

iOS users have higher average revenue per user and higher expectations for app quality. An app that looks like a React Native wrapper on iOS — wrong gesture handling, non-native navigation transitions, missing haptic feedback, slow scroll performance — will be rated poorly and uninstalled. Native Swift with SwiftUI gives you full access to every iOS capability: Face ID via LocalAuthentication, HealthKit, ARKit, Core ML, Live Activities, Dynamic Island and every future Apple API on day one. PROPELOO builds iOS apps that feel native because they are native — leveraging the platform, not working around it.

The iOS engineering stack.

Native iOS development requires platform-specific expertise at every layer.

System Layers

  • UI Layer: SwiftUI for modern declarative UI, UIKit for complex custom components, animations with matched geometry effects
  • Data Layer: Core Data, SwiftData, Realm, or backend sync with Combine/async-await
  • Platform APIs: HealthKit, ARKit, Core ML, Core Location, Push Notifications, iCloud, App Clips
  • Security Layer: Keychain, Face ID/Touch ID, certificate pinning, data protection classes
  • Distribution Layer: TestFlight, App Store Connect, App Review guidelines compliance, in-app purchases

Core Technical Capabilities

  • SwiftUI Architecture

    Modern declarative SwiftUI with proper state management — @StateObject, @EnvironmentObject, NavigationStack, async/await for data fetching and matched geometry animations.

  • Performance Optimisation

    Instruments profiling for CPU/memory/energy, lazy loading in List/ScrollView, image caching with AsyncImage, background task management and battery optimisation.

  • Platform Integration

    Deep iOS integration — HealthKit for health data, ARKit for augmented reality, Core ML for on-device machine learning, Shortcuts, Widgets, Live Activities and Dynamic Island.

  • iOS Security

    Keychain Services for secure storage, LocalAuthentication for biometrics, certificate pinning with URLSession, App Transport Security and data protection file attributes.

  • In-App Purchases

    StoreKit 2 implementation for subscriptions, consumables and non-consumable purchases, receipt validation, subscription management UI and App Store promotional pricing.

  • CI/CD & Distribution

    Xcode Cloud or GitHub Actions with Fastlane, automated TestFlight distribution, App Store submission automation and certificate/provisioning profile management.

How we think about iOS development.

The best iOS apps are not cross-platform apps that run on iOS. They are apps designed specifically for the iPhone — for its gestures, its metaphors and its ecosystem.

  • SwiftUI is the right choice for new apps

    SwiftUI is Apple's direction. New APIs (Live Activities, WidgetKit, App Intents) are SwiftUI-first. UIKit interoperability via UIViewRepresentable handles edge cases. Starting a new iOS app in UIKit in 2024 is building technical debt from day one.

    Axiom:

  • Async/await changed iOS architecture

    Swift concurrency (async/await, actors, structured concurrency) eliminates the callback hell of completion handlers. Combine remains useful for reactive pipelines. New iOS apps should use async/await as the primary concurrency model.

    Axiom:

  • App Store review is a product timeline risk

    App Store review takes 1-3 days for new apps and 1-2 days for updates. Rejections can add 1-2 weeks. App Review guideline compliance must be designed in — especially for apps with subscriptions, user-generated content or physical goods. Review violations discovered at submission are expensive to fix under deadline.

    Axiom:

  • Privacy is a first-class feature on iOS

    iOS users are privacy-conscious and App Store privacy labels are visible before download. Minimum permission requests, on-demand permission requests in context, clear privacy policy and App Tracking Transparency compliance are product requirements, not legal formalities.

    Axiom:

The iOS architecture decisions.

Each choice has implications for maintainability, performance and App Store compliance.

  • SwiftUI vs UIKit?

    Impact: SwiftUI for new apps targeting iOS 16+. UIKit for apps requiring very custom UI or maintaining existing UIKit codebases. Hybrid is the pragmatic production choice.

    • SwiftUI — modern, Apple-preferred, iOS 14+, some limitations for complex custom UI
    • UIKit — battle-tested, full control, more verbose, required for some complex components
    • Hybrid (SwiftUI + UIKit) — SwiftUI for screens, UIKit for complex custom views
    • React Native — cross-platform, non-native feel, faster if sharing web codebase
  • State management?

    Impact: Native SwiftUI state for most apps. TCA for complex apps with many interconnected state machines where testability is critical.

    • @StateObject + @EnvironmentObject — SwiftUI native, sufficient for most apps
    • TCA (The Composable Architecture) — testable, predictable, higher learning curve
    • Redux-style (ReSwift) — familiar from web, verbose for Swift
    • MVVM with Combine — bridges UIKit and SwiftUI well
  • Local data persistence?

    Impact: SwiftData for new iOS 17+ apps. Core Data for apps targeting iOS 16 or earlier. Never UserDefaults for sensitive data.

    • SwiftData (iOS 17+) — modern, SwiftUI-native, Swift Macros
    • Core Data — mature, powerful, steeper learning curve
    • Realm — third-party, good for complex local databases
    • UserDefaults + Keychain — for preferences and credentials only
  • Networking?

    Impact: URLSession with async/await is sufficient for most apps. Alamofire for teams that prefer its API. Apollo for GraphQL-heavy backends.

    • URLSession + async/await — built-in, sufficient for REST APIs
    • Alamofire — convenience, certificate pinning helpers, team familiarity
    • Apollo (GraphQL) — typed GraphQL client, good for GraphQL backends
    • Custom networking layer — control over retry, caching, logging
  • Monetisation?

    Impact: StoreKit 2 is the modern subscription API — async/await, better error handling, built-in subscription management. Always implement server-side receipt validation for subscription status.

    • StoreKit 2 subscriptions — recurring revenue, best for content/SaaS apps
    • One-time purchase — simpler, lower LTV
    • Free with ads (AdMob) — mass market, low ARPU
    • Enterprise/B2B (no IAP) — bypass App Store fees, direct billing
  • Push notifications?

    Impact: FCM for apps that also have Android — single SDK, unified analytics. APNs direct for iOS-only apps where notification latency and control matter.

    • APNs direct — full control, requires server infrastructure
    • Firebase Cloud Messaging — managed, analytics integration, cross-platform
    • OneSignal — managed, rich notifications, per-notification cost at scale
    • No push — acceptable for utilities, bad for engagement apps

What PROPELOO builds.

  • Consumer iOS App

    Social, lifestyle or utility app with SwiftUI, smooth animations, HealthKit/location integration and App Store optimised listing.

  • FinTech iOS App

    Banking or investment app with Face ID auth, Keychain token storage, biometric transaction confirmation and certificate pinning.

  • Healthcare iOS App

    HealthKit integration, HIPAA-compliant data storage, telehealth video and ClinicalKit for clinical workflows.

  • AR/ML App

    ARKit augmented reality or Core ML on-device machine learning application leveraging Apple Silicon Neural Engine.

  • B2B Enterprise App

    MDM-managed enterprise iOS app with SSO, offline capability, Core Data sync and Apple Business Manager distribution.

  • Subscription App

    StoreKit 2 subscription implementation with free trial, paywall A/B testing, churn prevention flow and App Store Small Business Programme optimisation.

The iOS stack.

  • Core

    Stack: Swift 5.9+, SwiftUI, UIKit, Xcode 15, Swift Concurrency

  • Data

    Stack: SwiftData, Core Data, Realm, UserDefaults, Keychain

  • Platform

    Stack: HealthKit, ARKit, Core ML, StoreKit 2, WidgetKit, App Intents

  • Networking

    Stack: URLSession, Alamofire, Apollo GraphQL, Firebase

  • CI/CD

    Stack: Xcode Cloud, Fastlane, GitHub Actions, TestFlight, App Store Connect API

  • Testing

    Stack: XCTest, XCUITest, Quick/Nimble, Instruments, TestFlight

iOS security leverages platform hardware.

  • Keychain for secrets

    Auth tokens, passwords and sensitive data belong in Keychain Services — hardware-backed secure storage. Never UserDefaults or plaintext files.

  • Biometric authentication

    LocalAuthentication with Secure Enclave — private keys never leave hardware. Face ID/Touch ID as second factor, not password replacement.

  • Data protection classes

    File protection attributes (.complete, .completeUnlessOpen) encrypt files at rest using device passcode key. Required for sensitive user data.

  • Certificate pinning

    URLSession certificate pinning for financial and health apps. Prevents MITM on compromised networks.

  • App Transport Security

    ATS enforces HTTPS for all connections. Exceptions require justification in Info.plist and App Review scrutiny.

  • Privacy permissions

    Request only needed permissions, in context, just before first use. NSPhotoLibraryUsageDescription, NSCameraUsageDescription etc must clearly explain the use.

From concept to App Store.

  1. 01. Architecture

    App structure, navigation model, data layer, state management and platform API requirements.

  2. 02. Setup

    Xcode project, SwiftUI architecture, CI/CD with TestFlight, signing configuration.

  3. 03. Core Development

    Feature development in 2-week sprints. Performance testing on physical devices throughout.

  4. 04. Platform Integration

    HealthKit, notifications, widgets, in-app purchases — platform APIs requiring specific review compliance.

  5. 05. Polish & Performance

    Animation refinement, Instruments profiling, battery optimisation and accessibility audit.

  6. 06. Testing

    XCTest unit tests, XCUITest UI automation, TestFlight beta with real users on physical devices.

  7. 07. App Store Submission

    App Store Connect metadata, screenshots, privacy labels, Review guideline compliance and submission.

Frequently Asked Questions

SwiftUI or UIKit?

SwiftUI for new apps targeting iOS 16+. It is Apple's preferred framework with the best tooling support (Xcode previews, SwiftData integration). UIKit for existing codebases or components requiring pixel-perfect custom rendering. Hybrid is common in production — SwiftUI screens, UIKit for complex custom components.

How long does an iOS app take?

Simple utility app (10-15 screens): 8-12 weeks. Medium complexity consumer app (25-40 screens with backend): 12-20 weeks. Complex app (social, fintech, health with extensive platform APIs): 4-8 months. Apple review adds 1-5 days per submission.

How do we handle App Store rejection?

Most rejections are for specific guideline violations — we document the most common (2.1 performance crashes, 4.0 copycat apps, 3.1.1 in-app purchase bypass) and design around them proactively. We include App Review notes for non-obvious features and test on the oldest supported device before submission.

Can we share code with Android?

Limited sharing is practical. Shared: REST API client logic, business rules in Kotlin Multiplatform Mobile (KMM). Not shared: UI (SwiftUI vs Jetpack Compose are fundamentally different), platform APIs (HealthKit vs Google Fit), navigation. We recommend native over cross-platform for any app where the native experience is a product differentiator.

How do we handle iOS version fragmentation?

Target iOS 16+ to reach 95%+ of active iPhones while accessing modern APIs. Use #available checks for iOS 17+ features with graceful fallbacks. Avoid iOS 15 if possible — SwiftData and other modern APIs are iOS 17+.

What are the App Store fees?

Apple takes 30% of in-app purchases and subscriptions. Drops to 15% for developers earning under $1M/year (Small Business Programme) and for subscriptions after 12 months of continuous subscription by a user. Physical goods and services are excluded — only digital content requires Apple's payment system.

How do we implement subscriptions correctly?

StoreKit 2 is the modern API. Implement: subscription groups with free trial, upgrade/downgrade paths, StoreKit Transaction listener for purchases outside the app, server-side App Store Server Notifications for renewal events, and subscription status displayed clearly in app settings.

What is TestFlight and how do we use it?

TestFlight is Apple's beta distribution platform — up to 10,000 external testers invited via email or public link, without App Store listing. Internal testing (up to 100 team members) requires no review. External testing requires basic review (1-2 days). We set up TestFlight as part of CI/CD so every main branch commit deploys to internal testers automatically.