Publishing Mobile Apps with React Native and Expo

Introduction

Publishing Mobile Apps with React Native and Expo
Expo Logo

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!

Get Started with BanKan Board — It’s Free!