Edit this page
Learn how to submit your app to Google Play Store and Apple App Store from the command line with EAS Submit.
EAS Submit is a hosted service that allows uploading and submitting app binaries to the app stores using EAS CLI. This guide describes how to submit your app to the Google Play Store and Apple App Store using EAS Submit.
EAS Submit makes it easy to publish your apps to the App Store and Play Store with a simple command.
Although it's possible to upload any binary to the store, each submission is associated with an Expo project. That's why it's important to start a submission from inside your project's directory because app config is defined inside that directory.
To submit the app binary to Google Play Store, run the following command from inside your project's directory:
-
eas submit -p android
The command will lead you through the process of submitting the app. It will perform the following steps:
Log in to your Expo account and ensure that your app project exists on EAS servers.
Prompt for the Android package name unless android.package
is set in the app config.
Ask for which binary to submit. You can select one of the following:
The latest finished Android build for the project on EAS servers.
Specific build ID. It can be found on the builds dashboard.
Path to an .apk or .aab archive on your local filesystem.
URL to the app archive.
This step can be skipped if one of the following CLI parameters is provided:
--latest
,--id
,--path
, or--url
.
Unless serviceAccountKeyPath
is provided in eas.json, you will be prompted for the path to your Google Services JSON key.
The summary of provided configuration is displayed and the submission process begins. The submission progress is displayed on the screen.
Your build should now be visible on Google Play Console. If something goes wrong, an appropriate message is displayed on the screen.
If you have not generated an App Store Connect API Key yet, you can let EAS CLI take care of that for you by signing into your Apple Developer Program account and following the prompts. You can also upload your own API Key or pass in an Apple app-specific password.
To submit the binary to the App Store, run the following command from inside your project's directory:
-
eas submit -p ios
The command will lead you through the process of submitting the app. It will perform the following steps:
Log in to your Expo account and ensure that your app project exists on EAS servers.
Ensure that your app exists on App Store Connect and its Bundle Identifier is registered on Apple Developer Portal:
You will be asked to log in to your Apple Developer account and select your team. You can also provide this information in eas.json by setting appleId
and appleTeamId
in the submit profile. The Apple ID password has to be set with the EXPO_APPLE_PASSWORD
environment variable.
The command will look for ios.bundleIdentifier
in the app config.
If you are submitting your app for the first time, it will be automatically created.
Unless expo.name
in your app configuration is found or appName
is provided in eas.json, you will be prompted for the app name.
You can also specify your app's language and SKU using language
and sku
keys in eas.json. If you have never submitted any app before, you may also have to specify your company name with companyName
.
If you already have an App Store Connect app, this step can be skipped by providing the
ascAppId
in the submit profile. The ASC App ID can be found either on App Store Connect, or later during this command in the Submission Summary table.
Ensure you have the proper credentials set up. If none can be found, you can let EAS CLI set some up for you.
App Store Connect API Key: Create your own API Key then set it with the ascApiKeyPath
, ascApiKeyIssuerId
, and ascApiKeyId
fields in eas.json.
App Specific Password: Provide your password and Apple ID Username by passing them in with the EXPO_APPLE_APP_SPECIFIC_PASSWORD
environment variable and appleId
field in eas.json, respectively.
Ask for which binary to submit. You can select one of the following:
The latest successful iOS build for the project on EAS servers.
Specific build ID. It can be found on the builds dashboard.
Path to an .ipa archive on your local filesystem.
URL to the app archive.
This step can be skipped if one of the following CLI parameters is provided:
--latest
,--id
,--path
, or--url
.
A summary of the provided configuration is displayed and the submission process begins. The submission progress is displayed on the screen.
Your build should now be visible on App Store Connect. If something goes wrong, an appropriate message is displayed on the screen.
To learn more about manual app submission process to Google Play Store and Apple App Store, see the following:
Follow the steps from the FYI guide on manually submitting your app to Google Play Store for the first time.
Learn how to submit your app manually to Apple App Store or TestFlight using App Store Connect.
Learn how to pre-configure your project using eas.json file with EAS Submit and more about Android or iOS specific options.