Field guide · iOS QA and release
The honest iOS app launch checklist.
A successful build proves that code compiled. A launch-ready product needs several other kinds of evidence. This checklist keeps them separate so a team can see exactly what is ready—and what is still an external gate.
Published 8 August 2026 · A practical framework for founders, product leads and iOS teams.- 01
- source and automated proof
- 02
- device, commerce and distribution proof
- 03
- store, operations and real-user proof
01 / Source and tests
Prove the product logic deterministically.
Start with a reproducible source state. Dependencies resolve, configuration is documented and a clean machine can build the intended scheme. Unit and integration tests should cover the canonical logic behind visible claims—not only view snapshots.
Fixtures must be explicit. If a health, commerce or network scenario uses simulated data, label it in Debug and prevent it from leaking into share, export or Release behavior. A deterministic test is valuable because another person can reproduce the result.
- Clean dependency resolution
- Canonical unit and integration tests
- Deterministic fixtures with Release sanitization
- No secrets committed or printed
02 / Build and simulator
Use simulator evidence for what it can actually prove.
A simulator build can prove compilation, layout, navigation, seeded scenarios and many error states. It cannot prove physical sensors, real Apple Health authorization, production push delivery or the exact StoreKit environment used by App Store distribution.
Run the key UI journeys from a known state and keep the result bundle. When a suite appears idle, inspect its result and activity logs before killing processes; a completed failure often looks like a hang from the outside.
- Debug and Release simulator builds
- Critical seeded UI journeys
- Accessibility and small-screen checks
- Stored test result bundles
03 / Physical device
Exercise every claim that depends on real hardware or accounts.
Install the relevant configuration on a physical iPhone. Test permissions from a clean state, background and interruption behavior, network transitions, camera or microphone use, thermal behavior and the specific Apple framework flows the product promises.
For HealthKit, a successful simulator scenario is not live-data proof. For camera or speech products, a bundled sample is not equivalent to real capture. Name the evidence precisely so a stakeholder can understand its boundary.
- Clean install and upgrade path
- Permission denied, limited and granted states
- Offline and interrupted journeys
- Real framework and hardware flows
04 / Commerce and distribution
Treat local StoreKit, sandbox and production configuration as different gates.
A local StoreKit configuration is excellent for repeatable purchase, cancellation and restore UI. It does not prove that App Store Connect product identifiers, agreements, pricing, localization or sandbox accounts are correct.
Verify the product in App Store Connect, then test purchase and restore through the appropriate sandbox or TestFlight path. Confirm entitlement persistence, cross-device behavior where relevant and the experience when the store is unavailable.
- Local purchase and restore
- App Store Connect product match
- Sandbox or TestFlight transaction
- Entitlement recovery and failure states
05 / Archive and store
Make the submitted product match its public promise.
Create a signed archive with the intended bundle identifier, version, capabilities and privacy declarations. Upload processing, TestFlight installation and App Review are their own external steps; a local archive does not silently complete them.
Screenshots, metadata, privacy answers, support contact and review notes must describe the actual release build. Remove internal fixtures and unsupported claims. Give reviewers a short, truthful route to the important functionality.
- Signed archive and validation
- Upload and processing
- Accurate screenshots and metadata
- Privacy, support and review notes
06 / Operations
Launch is ready when failure has an owner.
Define what the team will watch in the first hours and days: crashes, onboarding completion, purchase state, support messages and the few product events tied to the launch thesis. Avoid collecting sensitive data simply because an analytics tool makes it easy.
Prepare a rollback or mitigation path, a support response and a decision cadence. Release readiness is not certainty that nothing will fail; it is evidence that the important paths work and clarity about what happens when reality disagrees.