Submission1-click submission
1-click submission uses EAS (Expo Application Services) to build and submit your app to both iOS and Android stores with a single command.
Prerequisites
Before submitting, ensure you have:
- [ ] Apple Developer account ($99/year) — Enroll here
- [ ] Google Play Developer account ($25 one-time) — Register here
- [ ] App Store Connect app record created
- [ ] Google Play Console app created
- [ ] EAS CLI installed:
npm install -g eas-cli - [ ] EAS account:
eas loginoreas register - [ ] All assets prepared (see Preparing assets)
Setup
1. Install EAS CLI
bash
2. Login to EAS
bash
If you don't have an account, register first:
bash
3. Configure EAS
Run the setup command in your project root:
bash
This creates an eas.json file with build profiles.
4. Configure app.config.ts
Ensure your general.config.ts has:
appName: Your app nameslug: URL-friendly app identifierversion: App version (e.g., "1.0.0")iosBundleId: Your iOS bundle ID (e.g., "com.yourcompany.appname")androidBundleId: Your Android package name (e.g., "com.yourcompany.appname")
Building for submission
iOS build
Build for App Store submission:
bash
This creates an .ipa file ready for App Store submission.
Android build
Build for Play Store submission:
bash
This creates an .aab (Android App Bundle) file ready for Play Store submission.
Both platforms
Build for both platforms simultaneously:
bash
Submitting to stores
iOS (App Store)
Option 1: Automatic submission
bash
EAS will:
- Use the latest iOS build
- Upload to App Store Connect
- Submit for review (if configured)
Option 2: Manual submission
- Download the build from EAS dashboard
- Upload to App Store Connect manually
- Complete submission in App Store Connect
Required credentials:
- App Store Connect API key (recommended) or Apple ID credentials
- Configure in
eas.jsonor provide when prompted
Android (Google Play)
Option 1: Automatic submission
bash
EAS will:
- Use the latest Android build
- Upload to Google Play Console
- Submit for review (if configured)
Option 2: Manual submission
- Download the build from EAS dashboard
- Upload to Google Play Console manually
- Complete submission in Play Console
Required credentials:
- Google Play Service Account JSON key
- Configure in
eas.jsonor provide when prompted
Both platforms
Submit to both stores:
bash
Configuration (eas.json)
Example eas.json configuration:
json
Credentials setup
iOS credentials
Option 1: App Store Connect API Key (recommended)
- Create API key in App Store Connect
- Download the
.p8key file - Note the Key ID and Issuer ID
- Configure in
eas.jsonor useeas credentials
Option 2: Apple ID
- Use your Apple ID and app-specific password
- Less secure, requires 2FA
Android credentials
Google Play Service Account:
- Go to Google Play Console
- Navigate to Setup → API access
- Create or link a service account
- Download the JSON key file
- Configure path in
eas.jsonor useeas credentials
Workflow example
Complete submission workflow:
bash
Troubleshooting
Build fails
- Check
eas.jsonconfiguration - Verify app.config.ts settings
- Review build logs in EAS dashboard
- Ensure all environment variables are set
Submission fails
- Verify store credentials are correct
- Check that app records exist in stores
- Ensure build is for the correct platform
- Review submission logs
Credentials issues
- Use
eas credentialsto manage credentials - For iOS: Ensure certificates and provisioning profiles are valid
- For Android: Verify service account has correct permissions
Useful commands
bash
