Skip to main content
Uploading puts your app inside App Store Connect. Nothing before this point is visible to Apple, and nothing after it, TestFlight or submitting for review, works until it’s done. You’ll need an Apple Developer account first.

What gets uploaded

A build is a real, installable copy of your app, the same kind of file you’d get from the App Store, except it isn’t published yet. Expo Go runs your code inside a shared preview app, a build is your app on its own, which is why features like push notifications and in-app purchases only work here. Replit’s Launch feature creates that build, signs it, and uploads it from the Publishing tab.
1

Publish the web app first

PixelGames’ backend needs to be live before the App Store launch, select Publish at the top of your workspace to publish it.
Replit editor with the Publish button highlighted

Publishing PixelGames' web app and API server first.

2

Start publishing to the App Store

Once the web app is published, a Start publishing to the App Store button appears under Publishing. Select it to open the Launch wizard.
Replit Publishing tab with the Start publishing to the App Store button

Starting the App Store launch from Replit's Publishing tab.

3

Choose your Expo project

Confirm the project name and slug, or select Use existing if PixelGames already has one.
Launch wizard Choose Expo project step with project name and slug fields

Choosing the Expo project to launch.

4

Sign in with Apple

Use the same Apple account enrolled in the Apple Developer Program. Replit uses these credentials only to authenticate with Apple and does not store your password.
Launch wizard Sign in with Apple step with email and password fields

Signing in with Apple to connect the Expo project.

5

Choose your Apple app

Set the app name and bundle identifier, or select Use existing if you already created one in App Store Connect. The bundle identifier can’t change later.
Launch wizard Choose Apple app step with app name and bundle identifier fields

Setting the app name and bundle identifier.

6

Configure Apple certificates

Launch selects a valid distribution certificate and provisioning profile automatically, or creates new ones if none exist yet.
Launch wizard Configure Apple certificates step

Launch configuring Apple's distribution certificate and provisioning profile.

7

Launch to the App Store

Once every step above is checked off, select Launch to App Store. Your build compiles on Expo’s servers, then lands in App Store Connect.
Launch wizard Ready for launch step with the Launch to App Store button

All steps complete, ready to launch to the App Store.

8

Wait for publishing to finish

Publishing can take up to 45 minutes. You can keep building with Agent while it runs, and installing the Replit app gets you a notification when it completes.
Replit Publishing tab showing Publishing to App Store in progress

Publishing to the App Store in progress, tracked from the Publishing tab.

9

Open it in TestFlight

When publishing completes you get an email titled “[Your name] has invited you to test PixelGames”. Select View in TestFlight to open the app and install it on your phone.
Once it finishes, your build appears in App Store Connect under your app. From there it can go two ways: hand it to testers on TestFlight first, or go straight to the listing and submit it for review. Nothing is public yet either way, the build just sits in App Store Connect until you submit it.

Uploading again later

Changed something in PixelGames? Run the same flow again to get the new version up. It goes much faster the second time. Your Expo project, Apple account, app, and certificates are all still filled in, so most steps are just confirming what’s already there.

Troubleshooting

  • No distribution certificates found: normal on a first launch, select Create new certificate and Launch generates one.
  • Sign in with Apple fails: confirm the account is enrolled in the Apple Developer Program, not just a regular Apple ID.
  • Publishing seems stuck: it can take up to 45 minutes, and builds are queued at peak times. Check your Expo dashboard under Builds before assuming something’s broken.

What’s next

Test with TestFlight

Hand the uploaded build to real testers first.

Submit to the App Store

Finish the listing and send it for review.