Device & ShipPro· 40 min read

Build & Publish to the Stores

Turn your project into real app files with EAS Build, then submit them to the Play Store and App Store.

What you will learn

  • Build an installable app with EAS Build
  • Know what each store needs
  • Understand updates vs full resubmits

The journey from code to the store

Shipping an app has three clear stages. Keeping them separate in your head makes the whole process far less scary:

  1. Build — turn your JavaScript project into a real, installable app file (.aab for Android, .ipa for iOS).
  2. Submit — upload that file to the Google Play Console or Apple App Store, with a name, icon, screenshots and description.
  3. Update — push later fixes to users, either as a new build or, for JS-only changes, over the air.

Stage 1 — From project to a real app file

During development you used Expo Go. To put your app in the stores, you must build the real installable files: an .aab for Android and an .ipa for iOS. Expo does this in the cloud with EAS Build, so you do not need a Mac for iOS.

EAS builds your installable app in the cloud
npm install -g eas-cli
eas login
eas build:configure
eas build --platform android   # or: --platform ios

Note: Output: Build queued... Build complete! Download: https://expo.dev/artifacts/your-app.aab EAS compiles your app on its servers and gives you a download link to the finished file.

Stage 2 — What each store needs

StepGoogle Play (Android)Apple App Store (iOS)
AccountOne-time feeYearly fee
File you upload.aab.ipa
ListingName, icon, screenshots, descriptionSame, plus app review
Review waitUsually fastCan take longer

EAS can even submit the file for you with eas submit --platform android, uploading straight to the store after a successful build.

Stage 3 — Updating later

Not every change needs a new store submission. For JavaScript-only changes, EAS Update can push the new code to users’ phones over the air:

Push a JavaScript update over the air with EAS Update
eas update --branch production --message "Fix typo on home screen"

Note: Output: Update published! Users get it next time they open the app. This works for JS and asset changes. Adding a new native module still needs a fresh build and store upload.

Watch out: Stores have rules. Apple in particular reviews every app and can reject it for missing privacy info, broken features or unclear screenshots. Read the guidelines before you submit to avoid delays.

Tip: Set your name, icon, version and slug in app.json before building — that is where the store gets your app’s name and icon from.

Q. What does EAS Update let you do without a full store resubmission?

Answer: EAS Update delivers JavaScript and asset changes over the air. New native code still requires a fresh build and store upload.

✍️ Practice

  1. Set your app’s name and version in app.json.
  2. Write the EAS command you would run to build for Android.

🏠 Homework

  1. Write a short checklist of everything you need to publish to one store: account, icon, screenshots, description and build command.
Want to learn this with a mentor?

CodingClave runs guided, project-based training (28-day, 45-day & 6-month batches).

Explore Training →