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