Join CTO Moataz Soliman as he explores the potential impact poor performance can have on your bottom line. 👉 Register Today

ebook icon

App Development

General

How to Deploy a React Native App for iOS and Android

Congratulations, you've finished your development process and now you're looking to deploy your React Native app on the Apple App Store and Google Play Store. While React Native is a great cross-platform development tool, it doesn't automate the process of deploying your app to the stores.

We will take you through the steps of having your Android and iOS apps ready to be published on the Apple App Store and Google Play Store.

Mobile App Launch Prerequisites

App Launch Prerequisites

There are a few pieces of information that you need to have prepared when launching your mobile app on both the App Store and Google Play. They include:

  • App Name: Short, catchy, unique, and relevant.
  • App Description: Describe what your app is about while trying to populate the description with relevant keywords.
  • App Screenshots: Use each screenshot to promote a key feature of your app, with the most important or valuable one first.
  • App Version
  • Bundle ID: The standard format is com.CompanyName.AppName (e.g. com.spotify.music)
  • Developer/Publisher Profile

App Store Prerequisites

Some items that you have to prepare specifically for the App Store include:

  • App Icon: A 1024x1024 px icon with no transparency.
  • Keywords: You have 100 characters to choose as many relevant keywords as you can, separated by commas.
  • Countries: Choose whether your app will be available worldwide or in selected countries.
  • App Category: Pick an App Store category and subcategory that best suit your app.
  • Copyright: YYYY Company Name.
  • Test Account: A demo account created to be used by Apple during their review of your app. This account can be removed once your app has been approved.

Google Play

Make sure to check out The Beginner’s Guide to ASO for tips on how to make the most out of your app page on the App Store and Google Play to boost your app’s discoverability, downloads, and ranking.

Deploying a React Native App

Publishing an Expo App

To publish your Expo app, first, you need to make sure that all your app.json configurations are set up. It looks something like this.

{
	 "expo": {
		"name": "App Name",
		"icon": "./path/to/your/app-icon.png",
		"version": "1.0.0",
		"slug": "app-slug",
		"sdkVersion": "XX.0.0",
		"ios": {
		"bundleIdentifier": "com.companyname.appname"
	},
	"android": {
	"package": "com.companyname.appname"
	}
	}
}

There are many properties that you can add, but only three are required:

  • name: The name of your app as it appears both within Expo and on your home screen as a standalone app.
  • slug: The URL slug for publishing. For example, "app-name" refers to the expo.io/@username/app-name project.
  • sdkVersion: The Expo sdkVersion to run the project. This should line up with the version specified in your package.json.

Once the app is ready and the configurations are set, follow these steps:

  1. Select the Publish button in Expo Dev Tools.to publish your project. If you're using command line, run "expo publish".
  2. You will get a link (like this: expo.io/@username/app-name) where two versions of the code will be generated for iOS and Android.
  3. Every time you update the app, you will need to publish it again, and the changes will be reflected right away and available to your users.

Building Native Apps

Building an Android App

  1. Run "expo build:android".
  2. You will get the following message.
exp] No currently active or previous builds for this project.
Would you like to upload a keystore or have us generate one for you?
If you don't know what this means, let us handle it! :)
1) Let Expo handle the process!
2) I want to upload my own keystore!

3. You can either upload your own keystore or have Expo generate one for you. If you choose to have Expo generate one for you, make sure to back it up as you will need it to submit any future updates of the app, and without it you won't be able to update the app anymore.

4. To back up the keystore, run "expo fetch:android:keystore".

5. Your Android app will now start building. You can check the status of the build by running "expo build:status".

6. Once your app has been built, you will be given a .apk URL of your Android app that you can download.

Building an iOS App

  1. Run "expo build:ios"
  2. You will get the following message:
[exp] No currently active or previous builds for this project.
? How would you like to upload your credentials?
(Use arrow keys)
❯ Expo handles all credentials, you can still provide overrides
I will provide all the credentials and files needed, Expo does no validation

3. The same way as Android's keystore, you can either upload your own distribution certificate or let Expo handle it for you.

4. Your iOS app will now start building. You can check the status of the build by running "expo build:status".

5. Once your app has been built, you will be given a .ipa url of your iOS app that you can download.

Now that you have your .apk and .ipa files ready, you can go ahead and submit them to the Apple App Store and Google Play Store as you would with any native app.

Learn more:

Instabug empowers mobile teams to maintain industry-leading apps with mobile-focused, user-centric stability and performance monitoring.

Visit our sandbox or book a demo to see how Instabug can help your app

Seeing is Believing, Start Your 14-Day Free Trial

In less than a minute, integrate the Instabug SDK for iOS, Android, React Native, Xamarin, Cordova, Flutter, and Unity mobile apps