Blog · iOS
The pre-flight checklist before every iOS release.
Pilots don't skip the checklist because they've flown before. Neither should you.
Most broken releases aren't caused by hard bugs. They're caused by small things nobody checked: a build number, a permission message, a test server left switched on. These twelve checks catch most of them.
The build.
- Version and build number. Bump both. A build number App Store Connect has already seen will be refused.
- Debug code is gone. No test servers, no verbose logging, no hidden developer menus. Check every feature flag is set the way you mean it for production.
- Crashes and warnings. Look at the crash reports and energy warnings for your current version in Xcode Organizer. Don't ship a new version on top of an old crash you haven't looked at.
The testing.
- A clean install. Delete the app and install fresh. Onboarding, sign-up and empty states are where reviewers start, and where bugs hide.
- An update from the App Store version. Install the live version, add some data, then update to the new build. Data migrations break quietly.
- The oldest iOS and the smallest screen you support. Layouts and newer APIs fail there first.
- Real people on TestFlight. A few days with real users finds things a simulator never will.
The App Store rules.
- Privacy, three ways. Every permission has a clear purpose message. Your privacy manifest covers your app and the SDKs you use. Your App Privacy answers in App Store Connect match what the app actually collects.
- Account deletion. If people can create an account in your app, they need to be able to delete it in your app too.
- In-app purchases. Test buying and restoring in the sandbox. Make sure every product is approved and attached to this version.
The submission.
- Notes for App Review. A working demo account, plus steps to reach anything that isn't obvious. Make the reviewer's job easy.
- A rollout plan. Use phased release so the update reaches automatic-update users gradually over seven days. Watch your crash reports. If something looks wrong, pause it, and have a fix ready to go.
Tip: Copy this list into your release ticket template. A checklist only works if it's in front of you at the moment you need it.
Already rejected? Here's the step-by-step recovery plan.
Want a second pair of eyes before a big release? An iOS Health Audit reviews your code, release process and App Store risk, with a clear list of what to fix first. See the audit.