EAS Build Guide: How to Create a Production Build of Your Expo App

DavidDavid August 2, 2026 7 min read
A terminal window showing a successful EAS build with green checkmarks
Original image, App Store Launch Club

Why EAS Build Instead of Local Build

Building a production iOS app locally requires Xcode on a Mac, an Apple Developer account, provisioning profiles, and signing certificates - a setup that takes hours and breaks constantly. EAS Build moves all of that to the cloud. You run one command, and Expo's servers compile your app using properly configured Mac and Linux build machines. The output is an IPA (iOS) or APK/AAB (Android) file ready for store submission.

Setting Up EAS Build

Install EAS CLI: npm install -g eas-cli. Log in: eas login. Configure: eas build:configure. This creates an eas.json file with build profiles (development, preview, production). For your first submission build, you want the production profile. Run eas build --platform ios --profile production or the same for android. EAS will prompt you to handle credentials - choose 'let EAS manage' for the easiest path.

What Happens During a Build

EAS clones your project, installs dependencies, runs any prebuild scripts, compiles native code, bundles your JavaScript, and packages everything into the final binary. You can watch the build log in your browser at expo.dev or in the terminal. Common failure points: missing environment variables, native package incompatibilities, and incorrect app.json configuration.

  • Check your app.json for correct bundleIdentifier (iOS) and package (Android)
  • Make sure all environment variables your app needs are set in eas.json or the Expo dashboard
  • If a build fails, read the log from the top - the root error is often buried above a cascade of failures

After the Build

Download the IPA or AAB from the Expo dashboard or by following the terminal link. For iOS, submit with eas submit --platform ios (which uploads to App Store Connect automatically). For Android, submit with eas submit --platform android. Both require you to have an existing app entry created in the respective store developer console first.

Free app-building tips, straight to your inbox

Short, practical drops on app ideas, validating fast, store listings, and passing app review. No spam, unsubscribe anytime.

Frequently asked questions

Does EAS Build cost money?

EAS Build has a free tier with limited monthly build minutes. For one app with occasional builds, the free tier is usually enough. Once you are building frequently, the paid plans start at $29/month.

Do I need a Mac to build an iOS app with EAS?

No. EAS Build runs on cloud Mac machines. You can trigger an iOS build from Windows or Linux without any Mac hardware.

How long does an EAS Build take?

iOS builds typically take 10-25 minutes. Android builds are usually faster, 5-15 minutes. Builds with heavy native dependencies take longer.

What is the difference between a development build and a production build?

A development build includes the Expo dev client so you can run it with hot reload and debugging tools. A production build is stripped of development tooling and optimized for the store. You submit production builds.

Last reviewed by David on August 2, 2026

David

Written by

David

Founder and app builder

Keep reading

ExpoEAS

How to Manage Environment Variables and Secrets in an Expo App

Environment variables in an Expo app split into two kinds, and treating them the same is how a secret ends up shipped inside your bundle. Here is the one distinction that decides everything, how to wire public values through app config and private ones through EAS, and the safe way to read each in a production build.

David 9 min
Read article
ShippingExpo

How to Submit an App Update to the App Store (Step by Step)

Shipping the first version is one thing. Shipping the second, tenth and fiftieth update without breaking anything is the part nobody explains. Here is the exact update loop I run for an Expo app: bump the version, build, upload, write the release notes, submit, and roll it out with a phased release so a bad build never reaches everyone at once.

David 10 min
Read article

Ready to build it yourself?

Join App Store Launch Club, the #1 community for building and launching apps, for $9/month.

← Back to the blog