Tooling

Mobile — iOS Native Development

Swift, SwiftUI, Xcode, and the full first-party iOS toolchain in 2026.

The iOS native stack in 2026 is settled: Swift 6 with strict concurrency, SwiftUI as the default UI layer (UIKit is now legacy-maintained), Swift Package Manager for dependencies, and SwiftData as the recommended persistence layer. For cross-platform paths see Mobile (Native) — RN/Expo, Flutter, Kotlin Multiplatform, and the Swift-to-Kotlin transpiler Skip. For wrapping a web app see Mobile Packaging.

The honest cost: Apple Developer Program is $99/yr to ship to the App Store or even TestFlight. Xcode itself is free, but you need a Mac.

Languages

  • Swift 6 — default language; strict concurrency mode (data-race safety) is on by default in new projects. Open source, Apache 2.0.
  • Objective-C — still maintained for legacy interop and a handful of frameworks; almost no new code in 2026.
  • C / C++ — interop for cross-platform cores; Swift's C++ interop matured significantly in Swift 5.9–6.

UI frameworks

  • SwiftUI — the default. Mature in 2026 after seven iOS releases; Observable framework (@Observable) replaced ObservableObject for state. Genuinely viable as the only UI framework in new apps.
  • UIKit — legacy-maintained; still required for some advanced gestures, custom transitions, deep UICollectionView use, or apps that started before SwiftUI.
  • AppKit — macOS only; Catalyst lets you ship UIKit apps on Mac.
  • Mac Catalyst — bring iPad apps to macOS with one extra target.

IDEs / editors

  • Xcode 16+ — Apple's IDE; required for App Store submission and final signing. Free.
  • VS Code + Swift extension (Apple-published) — official LSP; great for headless / non-Apple-Silicon dev. Still need Xcode for signing and simulator.
  • Cursor / VS Code forks + Swift LSP — popular for AI-assisted Swift in 2026.
  • AppCode (JetBrains) — sunset 2022; do not start new projects on it.
  • Tuist ★ — Swift-defined Xcode project generation; the most-recommended way to manage large multi-module Xcode projects without .xcodeproj merge conflicts. Free, MIT.
  • XcodeGen — older YAML-based project generation; still works.

Persistence / databases

  • SwiftData — Apple's Core Data successor (iOS 17+). The default for new apps in 2026. Macros over a Core Data backend; cleaner API; CloudKit sync built-in.
  • Core Data — still fine for existing apps; not deprecated.
  • GRDB — best-in-class third-party SQLite library; reactive (ValueObservation), type-safe, mature. Use this if SwiftData's constraints don't fit. MIT.
  • Realm — MongoDB-owned object database; free SDK, Atlas Sync is paid. Mature but hitch-prone on writes.
  • SQLite.swift — simpler SQLite wrapper; fine for small apps.
  • See Mobile — Databases & Storage for the full picture.

Networking

  • URLSession + async/await — the default since Swift 5.5. You rarely need anything else.
  • Alamofire — classic HTTP library; less essential now that URLSession has async/await.
  • Moya — declarative network layer on top of Alamofire; good for type-safe API clients.

Concurrency

  • Swift Concurrency (async/await, Task, actors) — the default. Strict mode in Swift 6 catches data races at compile time.
  • Combine — Apple's reactive framework; still maintained but less used in new code now that AsyncSequence + Observation exist.

Distribution

  • TestFlight — beta distribution; up to 10k external testers; free with Apple Developer Program.
  • App Store Connect — release management, analytics, metadata.
  • Apple Developer Program — $99/yr for individuals & organizations; Enterprise is $299/yr (in-house only, no public store).
  • EU DMA / AltStore PAL — since 2024 the EU permits third-party app stores; AltStore PAL is the most-watched alternative marketplace (€1.50/yr Core Technology Fee per install above 1M still applies as of 2026).
  • Ad-Hoc / Enterprise — non-store distribution for limited devices or in-house apps.

Testing

  • Swift Testing (@Test) — newer macro-based framework introduced in Xcode 16; replacing XCTest for many teams. Better parallelism, parametrized tests.
  • XCTest — still fully supported; required for UI tests via XCUITest.
  • XCUITest — UI tests via accessibility identifiers.
  • Quick + Nimble — BDD-style; less common in Swift Testing era.
  • swift-snapshot-testing (Point-Free) — snapshot tests for SwiftUI / UIKit.
  • See Mobile — Testing Frameworks and Mobile — Snapshot Testing.

Privacy / compliance

  • Privacy Manifests (PrivacyInfo.xcprivacy) — required since 2024 for SDKs and apps using "required reason APIs." Not optional.
  • App Tracking Transparency (ATT)AppTrackingTransparency framework for any cross-app tracking.
  • App Privacy — declared in App Store Connect; data collection labels.

Build tools

  • Swift Package Manager (SPM) — the default for new projects in 2026; binary targets, plugins, resources, all stable.
  • CocoaPods — legacy-maintained; the long-running pod install is mostly being replaced.
  • Carthage — sunset path.

Pick this if…

  • New iOS-only app: Swift 6 + SwiftUI + SwiftData + SPM, Xcode 16, TestFlight.
  • Need shared logic with Android: see Kotlin Multiplatform or Skip.
  • Multi-module / multi-target app: add Tuist.
  • Existing UIKit app: stay on UIKit; adopt SwiftUI incrementally with UIHostingController.
  • Don't want to pay $99/yr or own a Mac: consider Mobile Packaging or PWA — but App Store requires both.

On this page