This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
Manually submit an iOS app to the Apple App Store
Edit page
Archive and upload an iOS app to App Store Connect using Xcode on macOS.
This guide walks through archiving an iOS app with Xcode and uploading it to App Store Connect, which is useful if you aren't using EAS, or as a fallback if EAS Submit is temporarily unavailable.
If you already have a .ipa file, skip to Upload an existing build with Transporter. For most teams, EAS Submit is simpler and works from any OS.
Prerequisites
4 requirements
4 requirements
1.
A paid Apple Developer membership is required to submit apps to the Apple App Store. Sign up on the Apple Developer Portal.
2.
Xcode must be installed on a Mac. See Set up Xcode for instructions.
3.
Your project needs an ios directory. If you use
CNG, run npx expo prebuild to generate it.
4.
An app record in App Store Connect with a matching bundle identifier is required. If you haven't created one, sign in to App Store Connect, click the blue + next to Apps, and choose New App.
1
Open the iOS workspace in Xcode
From your project directory, open the iOS workspace in Xcode:
- xed iosThen:
- In the left sidebar, select your app's workspace.
- Go to Signing & Capabilities and select All or Release.
- Under Signing > Team, choose your Apple Developer team. Xcode will generate an automatically managed provisioning profile and signing certificate.
2
3
4
Archive and upload to App Store Connect
- From the menu bar, open Product > Archive.
- Under Archives, click Distribute App from the right sidebar.
- Click App Store Connect and follow the prompts. Xcode will upload your build to App Store Connect. To get a .ipa file instead and upload it later, choose Export in the prompts and use Transporter.
- Sign in to App Store Connect, select your app, and submit it to TestFlight or for App Review from the App Store Connect dashboard.
Upload an existing build with Transporter
If you already have a .ipa file, for example from running eas build --platform ios --local or downloading a build from the EAS dashboard, you don't need to archive the app in Xcode. Upload it with Apple's Transporter app instead:
- Download Transporter from the App Store.
- Sign in with your Apple ID.
- Add the build either by dragging the .ipa file directly into the Transporter window or by selecting it from the file dialog opened with + or Add App button.
- Submit it by clicking the Deliver button.
This process can take a few minutes, then another 10-15 minutes of processing on Apple's servers. Afterward, you can check the status of your binary in App Store Connect and submit it to TestFlight or for App Review.
Further reading
- Create store assets for your app's store page
- Submit to the Apple App Store with EAS Submit