Launching
A guide to the EAS commands used for configuring, building, and submitting your app to the store.
This guide covers the essential commands from the Expo Application Services (EAS) CLI needed to take your application from development to the Apple App Store.
Configuration
eas build:configure
This command sets up the build configuration for your project. Note that while you might see eas build:config in some contexts, the standard command for initialization is configure.
- What it does: It creates or updates an
eas.jsonfile in your project root. This file defines different build profiles (e.g.,development,preview,production) specifying how the app should be built for each environment (e.g., whether to use a simulator build or a real device build). - Use case: You run this once to generate the config file, and then edit
eas.jsonmanually to tweak settings like credentials usage or distribution channels.
eas build:configure
Managing Credentials
eas credentials
This command runs an interactive manager for your signing credentials.
- What it does: It allows you to view, set up, or remove Apple Distribution Certificates and Provisioning Profiles managed by EAS.
- Deep Dive: For iOS builds, you need a valid Apple Developer account.
eas credentialsinterfaces with the Apple Developer Portal to generate the certificates needed to sign your code so it can run on physical iOS devices or be accepted by the App Store.
eas credentials
Building the App
eas build -p ios
This command triggers a cloud build for the iOS platform.
- What it does: It uploads your project source code to EAS servers, where the build process runs. It installs dependencies, compiles native code, and signs the binary.
- Outcome: Once finished, you receive a link to download the
.ipafile (for devices) or a simulator build. - Profiles: By default, it uses the
productionprofile fromeas.jsonunless specified otherwise (e.g.,--profile development).
eas build -p ios
Submitting to the App Store
eas submit --platform ios
This command submits a pre-built binary to App Store Connect.
- What it does: It takes an existing build (from EAS or a local file) and uploads it to Apple's servers.
- Interactive Mode: It will ask you which build ID you want to submit if you haven't specified one.
- Prerequisites: You must have an App Store Connect entry created for your app (with a matching Bundle ID).
eas submit --platform ios
Automation
eas build -p ios --auto-submit
This is a powerful convenience command that combines the build and submit steps into a single workflow.
- What it does:
- Starts a build on EAS.
- Waits for the build to complete successfully.
- Automatically triggers the submission of that specific build to App Store Connect.
- Why use it: It creates a "fire and forget" pipeline. You can run this command and walk away; when you return, your app will be processing on App Store Connect, ready for TestFlight or release.
eas build -p ios --auto-submit
Streamlined Workflows
We have configured package.json scripts to streamline the build and submission process. These scripts are designed to help you verify your changes locally before submitting them to TestFlight.
1. Local Verification
Command: pnpm app:local
This command builds the iOS app in Release configuration directly on your connected device.
- Why use it: It is strictly better to verify a release build on a real device before waiting for a cloud build. This allows you to catch crash-on-launch issues or performance problems that might not appear in the simulator or debug builds.
- Process:
- Connect your iOS device to your Mac.
- Run
pnpm app:localfrom the root directory. - The app will be compiled and installed on your device.
# From project root
pnpm app:local
2. TestFlight Submission
Command: pnpm app:testflight
Once you have verified that the local release build works correctly, use this command to build and submit to TestFlight.
- Why use it: This wraps
eas build -p ios --auto-submit, automating the entire cloud build and submission process. - Process:
- Run
pnpm app:testflightfrom the root directory. - EAS will build your app in the cloud.
- Upon success, it will automatically submit the binary to App Store Connect.
- Run
# From project root
pnpm app:testflight
