Publishing an app on the App Store comes down to four things: an Apple Developer account at $99 a year, a signed build uploaded to App Store Connect, a complete listing, and a review that returns a decision within 48 hours in 98% of cases. None of these is hard on its own. What costs time is discovering them in the wrong order.
The real risk is no longer technical: build signing, historically the scary part of iOS, is now automated by cloud build services. The risk is the avoidable rejection: a forgotten demo account, a rushed privacy questionnaire, a payment that bypasses in-app purchase. This guide follows the real order of operations and stops on each point that sinks a first submission.
It covers iOS only. Android is a different path with its own dedicated guide: publish an app on Google Play. To compare both stores before you start, our App Store and Google Play checklist puts the two journeys side by side.
What to prepare before you start
Everything below can be prepared while the app is still in development. On submission day you need:
- An active Apple Developer account. $99 a year, as an individual or as an organization. The organization account requires a DUNS number and publishes under the company name.
- An app tested on a real device. The simulator shows neither real performance nor system permissions.
- A 1024 × 1024 PNG icon, no transparency and no rounded corners: Apple applies those itself.
- A privacy policy online. Its URL is mandatory in the listing, even for an app that collects almost nothing.
- A demo account if your app requires sign-in: a valid login and password, provided in the review information.
The six steps, from build to launch
Here is the full journey, in the order it actually happens. The timelines assume a complete submission on the first try.
- Enroll in the Apple Developer Program. Enrollment happens on developer.apple.com with your Apple ID and an identity check. This account is what opens App Store Connect, the console where your apps live.
- Produce a signed build. An iOS binary must be signed by a distribution certificate and a provisioning profile tied to your account. A cloud build service like EAS creates both automatically and compiles on remote macOS machines; with Xcode you do it locally on a Mac.
- Create the listing on App Store Connect. Display name, bundle identifier (permanent, choose it carefully) and category. The listing can stay in draft while you test.
- Test with TestFlight. This is the exact binary your users will receive, not a preview. Internal testers get it immediately; external testers after a short beta review.
- Complete the listing. Description, keywords, iPhone screenshots (and iPad if supported), the App Privacy questionnaire, age rating, and the review information with the demo account.
- Submit, then release. Once the version is approved, you choose: immediate release, automatic on approval, or phased over seven days to watch the first feedback.
Apple review: real timelines and rejection reasons
Apple states that 90% of submissions get a decision within 24 hours, and 98% within 48 hours. In practice, plan one to three business days for a first submission. Regulated categories (finance, health, kids) go to specialized reviewers and may require supporting documents, so several extra days. The queue also slows in September, around the iOS release, and before the holiday freeze in December.
Rejection reasons are heavily concentrated. The App Review Guidelines list dozens, but five families cover most first submissions:
| Rejection reason | Guideline | How to avoid it |
|---|---|---|
| Crash or bug at launch | 2.1 | Test the TestFlight binary on several devices, not just the preview. |
| Missing or invalid demo account | 2.1 | Provide a login that works, with realistic data already in place. |
| Privacy: unjustified permissions | 5.1 | Request only the permissions you use, each with a clear explanation string. |
| Digital payment outside in-app purchase | 3.1.1 | Sell digital content through Apple's in-app purchase; physical goods may use external payment. |
| App judged too minimal or duplicated | 4.2 / 4.3 | Bring real app value: a repackaged website with no feature of its own gets rejected. |
A rejection is not a penalty: the Resolution Center states the exact reason, you fix it, you resubmit. The second review is often faster than the first.
Publishing to the App Store from Cadrant
If your app is a Cadrant mobile project, the build and submission part is guided end to end. Two accounts are involved and both stay yours: the build runs on your Expo account (the free plan covers 15 iOS builds a month), and the binary lands in your App Store Connect account.
- Secure Apple sign-in: authentication uses the SRP protocol, your Apple password is never stored.
- Listing created for you: name, 1024 × 1024 icon and bundle identifier are set up on App Store Connect automatically.
- Certificate provisioned automatically: the distribution certificate and profile are created with no manual steps, or imported as a .p12 if you already have one.
- Build then submission: the iOS build launches on your Expo account, and Expo delivers the binary to your App Store Connect. You take over for TestFlight, the listing and the submission.
The short version
- Open the Apple Developer account today: it is the only incompressible delay in the journey.
- Test the TestFlight binary, not the preview: that binary is what goes through review.
- Nail the three points that concentrate rejections: stability, demo account, privacy.