The platform your Swift runs on. How an Xcode project is structured and how Swift Package Manager pulls in dependencies, the app and view lifecycles, the UIKit foundations SwiftUI sits on, requesting permissions and capabilities, building accessible apps, and taking a signed build through TestFlight to the App Store.
Before you start
iOS is written in Swift — take the Swift course first. You'll build screens with the SwiftUI course, which pairs with this one.
Xcode & Project Structure
What is inside an iOS project — targets, the Info.plist, the asset catalog, and the entry point — and how Swift Package Manager adds dependencies. The map you need before writing app code.
App & View Lifecycle
iOS constantly moves your app between foreground, background, and suspended, and creates and tears down views as the user navigates. Handle the app scene phase and the UIViewController lifecycle correctly.
UIKit Fundamentals
SwiftUI is the future, but UIKit still underpins iOS and much existing code. Learn UIViewController and views, how screens are built in code, and how UIKit and SwiftUI interoperate.
Permissions & Capabilities
Sensitive features — camera, location, notifications — require the user’s permission at runtime and a usage description in your Info.plist. Capabilities unlock system services like push and iCloud.
Accessibility
An accessible app works for everyone — including VoiceOver and Dynamic Type users. Learn accessibility labels, supporting scalable text, and testing with the Accessibility Inspector.
Building, Signing & Distribution
Ship your app: code signing and provisioning, an archived build to App Store Connect, testing with TestFlight, submitting for review, and automating the pipeline with Fastlane.