Publishing Mobile Apps with React Native and Expo
Introduction

Introduction
Publishing mobile apps has become incredibly simple with React Native and Expo. Expo’s EAS (Expo Application Services), released in December 2020, has transformed the app development process. This guide will walk you through setting up a build with EAS and submitting it to both the Apple App Store and Google Play Store.
Prerequisites
Before getting started, ensure you have the following accounts:
- Expo Account
- Google Play Console Account
- App Store Connect Account
Step 1: Install EAS CLI
To begin, ensure your EAS CLI is up to date by running the following command in your terminal:
npm install -g eas-cli
Step 2: Login to Your Expo Account
Use this command to log in to your Expo account:
eas login
Step 3: Configure Your Project for EAS
Run the following command to configure your project for EAS builds:
eas build:configure
Step 4: Start an EAS Build
You can build your app for all platforms or a specific platform:
# Build for all platforms
eas build --platform all
# Build for iOS only
eas build --platform ios
# Build for Android only
eas build --platform android
Step 5: Submit Your Build
For Android:
1. For your first submission, manually upload your build
- Visit expo.dev, locate your Android build, and click Download.
- Go to Google Play Console > Test and release > Production > Create new release, and drag and drop your build.
2. After the initial manual upload, you can automate future submissions:
eas submit -p android
For Apple:
Simply run the following command to submit your app to the App Store:
eas submit -p ios
Tips and Tricks
Auto-Increment Build Version
Each time you build your app, you need to increment the Version Code/Build Number. EAS can handle this automatically. Add the following parameters to your eas.json
file:
{
"cli": {
"appVersionSource": "remote"
},
"build": {
"development": {
...
},
"preview": {
...
},
"production": {
"autoIncrement": true
}
}
}
Apple “Non-Exempt Encryption”
When uploading your app to Apple, you’ll be asked about non-exempt encryption (e.g., data encryption beyond standard HTTPS). Most apps don’t require this. To automate this response, add the following parameter to your app.json
or app.config.js
:
{
"ios": {
"config": {
"usesNonExemptEncryption": false
}
}
}
Conclusion
Expo’s EAS streamlines the building and publishing process, saving you valuable time. With its free tier offering 30 builds per month, you can efficiently develop and deploy your apps. Get started today and experience seamless app publishing!
Try BanKan Board — The Project Management App Made for Developers, by Developers
If you’re tired of complicated project management tools with story points, sprints, and endless processes, BanKan Board is here to simplify your workflow. Built with developers in mind, BanKan Board lets you manage your projects without the clutter.
Key Features:
- No complicated processes: Focus on what matters without the overhead of traditional project management systems.
- Claude AI Assistant: Get smart assistance to streamline your tasks and improve productivity.
- Free to Use: Start using it without any upfront cost.
- Premium Features: Upgrade to unlock advanced functionality tailored to your team’s needs.
Whether you’re building a side project, managing a team, or collaborating on open-source software, BanKan Board is designed to make your life easier. Try it today!