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

Start01 Why SwiftData