app-release
App Release (iOS / watchOS → TestFlight / App Store)
Drive an iOS/watchOS app from "production path unstarted" to a Distribution-signed build processing in TestFlight. The hard part is not any single step — it is that the release path spans three disconnected web portals (Apple Developer, App Store Connect, CloudKit Dashboard) plus CLI signing arcana, and each gate hides a silent failure discoverable only after the previous one passes. Treat the whole thing as an airlock checklist: each gate must verifiably seal before the next opens.
When to use
Releasing/publishing/shipping an iOS or watchOS app; getting a build to TestFlight; archiving + uploading; deploying CloudKit schema to Production; filling App Privacy or export compliance; distribution signing; or debugging an Apple upload rejection.
The gates (run in order; verify each before moving on)
Track every gate in the project's issue tracker. Do not assume a gate is closed because a portal shows green — verify the underlying artifact.