How to ship to the app stores

Shipping

How to go live on the app stores

Every rejection costs days, so the cheapest hour you will ever spend is the one immediately before you press submit.

  1. Press every button in the app.

    All of them, including the ones you know work and the ones you forgot exist. Reviewers do this and they are more thorough than you expect on a Friday afternoon.

  2. Log in with the How to pass Apple’s review you supplied.

    On a device that has never seen the app, on the network a stranger would use. Expired or rate-limited demo credentials are among the most common avoidable rejections.

  3. Install it fresh, as a new user.

    Delete the app, clear the account, and run the whole first-launch experience. Everything you have on your device from six months of development is invisible to you and glaring to them.

  4. Run it on the oldest OS version you claim to support.

    If the listing says it works on an older release, it is tested there. A simulator running that version takes ten minutes to set up.

  5. Open every URL in the metadata.

    Support, marketing, How to handle privacy and data deletion. Click them from outside your own browser session so you catch anything that only works because you happen to be logged in.

  6. Verify guest mode reaches the core experience.

    Someone with no account should be able to see why the app is worth having. Walk that path specifically, because it is the one you never use.

  7. Test the purchase and then the restore.

    Buy it in the sandbox, delete the app, reinstall, restore. Restore is the half people skip and reviewers check.

  8. Delete an account and confirm the data is gone.

    Run the deletion, then check the database. If the row is still there, the feature is a lie and the declaration is false.

  9. Bump the How to version and name an app.

    It only ever goes up, and it must be higher than every build you have ever uploaded. This is the single most common upload failure and it happens at the worst moment.

  10. Read the release notes back before you submit.

    Check they describe this build, contain no internal language, and don’t call anything a beta. Then submit, and go and do something else for two days.