Skip to content

iOS Advanced ​

Hub › iOS › Advanced

What you'll build ​

You extend the MVVM async list app from the Intermediate tier with SwiftData persistence, Sign in with Apple authentication, secure token storage, unit and UI tests, CI/CD, push notifications, Instruments profiling, and TestFlight distribution.

Prerequisites ​

  • Complete the Intermediate tier (MVVM list app with URLSession)
  • Xcode 16+
  • An Apple Developer account (free or paid — needed for push notifications and TestFlight)
  • A physical iOS device (optional for push notifications; simulator works for the rest)

The ladder ​

  1. 01 Why SwiftData — from network-only to local persistence
  2. 02 Add SwiftData — ModelContainer, @Model, CRUD operations
  3. 03 Sign in with Apple — AuthenticationServices, Apple ID credential
  4. 04 Secure token storage — Keychain wrapper, @Observable token manager
  5. 05 Unit tests — XCTest for ViewModel + Model layers
  6. 06 UI tests — XCUITest for navigation flows
  7. 07 CI/CD with GitHub Actions — xcodebuild, test, archive
  8. 08 Push notifications — register, handle payload, display
  9. 09 Instruments profiling — time profiler, leaks, memory graph
  10. 10 TestFlight distribution — archive, export, upload

Start → 01 Why SwiftData