Skip to content

Lesson 06 · iOS with Swift & SwiftUI

iOS Capstone — Build & Test a Reading-List App

The track's capstone: build, test and ship-prep a complete Reading List app - a SwiftData Book model with status and rating, a live @Query list with an @Observable filter view model, a create-or-edit sheet under NavigationStack, a real accessibility pass, an XCTest unit suite plus a UI-test sketch, and an honest walkthrough of signing, TestFlight and App Store review with the common rejection buckets.

Prerequisites: iOS: Persistence with SwiftData & UserDefaults

Learning objectives
By the end of this lesson, you will be able to:
  • Assemble a complete SwiftUI app from a written spec - SwiftData model, list screen, editor sheet, filtering and navigation - and drive it to done through milestones with acceptance criteria
  • Factor testable logic out of views into pure functions on the model and prove it with an XCTest unit-test target
  • Apply the core accessibility pass - labels on icon-only controls, combined rows, spoken ratings, Dynamic Type through text styles - and verify it with VoiceOver
  • Sketch a UI test with XCUIElement queries and accessibility identifiers, and judge what UI tests are worth against their cost in speed and stability
  • Describe the shipping path - automatic signing, archives, App Store Connect, TestFlight and App Review - and name the common rejection buckets to design against