05 June, 2019

How to Deploy a React Native IOS app on the App Store

Step by step process to deploy a react-native app on the App store

Sometimes it is quite confusing when we try to deploy the IOS app to the app store and for a beginner developer, it sounds complex so in this blog we are trying to explain all the step by step process to deploy a react native ios app to the app store. In all of these process, we are using a new react native app and deploying this app to the app store. So let’s get into it

Following Informations you need to deploy the app on App Store
  • App Name
  • 5 screenshots from real iPhone.
  • App descriptions
  • keywords
  • Dummy Account (if app require login)

Step 1: Get your app ready to deploy

You can use react-native init NewProject to create a fresh new project or you can use your existing react native project In our scenario, we are cloning our app from git lab. Once the app is cloned now go to your_app root directory and run command npm install.

Once the command npm install executed successfully then change the directory using cd ios command to ios directory and run command pod install.

If both these command executed successfully now it’s time to build our app.

Step 2: Build the app in Xcode

Now open your project folder in Xcode and if you have configured firbase with your app then navigate to ios directory and select the file which has extension .xcworkspace else select .xcodeproj. Now it’s time to change some setting for our app behavior.

1. Update General settings

Click on General tab and navigate to identity and update all the details. While updating details make sure the bundle identifier should be correct as mentioned in the project. In case if you don't know how to get the bundle identifier then navigate to following directory project_name → ios → project_name.xcodeproj and open project.pbxproj and find PRODUCT_BUNDLE_IDENTIFIER in it.

Now navigate to Development Info here you can change the basic functionality of your apps like portrait mode and landscape mode.

2. Update Capabilities

If your app has push notification services then select the Capabilities tab and turn ON to Background Mode and mark check to Remote notification.

And after it turns ON to Push Notification. If your app has more feature like maps, siri then you can turn it ON or OFF here.

3. Change scheme if you want to build the app in developer mode

Once the initial settings are updated and if you want to install the app in debug mode then navigate to the top of the Xcode select Product → Scheme → Edit Scheme

Now change Build configuration to Debug and do the same for Test, Profile, Analyze and Archive tabs and close the popup.

4. Start the build

To build the app select the Product from top of the bar and navigate to Product → Build it will start building the app and it will take little time to build the app.

5. Run app in the emulator or real device

Once the build is successfully built now if you want to run the app in emulator or real device then navigate to top right corner of the tab and select your device emulator or real device (real device should be connected to mac) then run the build by clicking play button and the app will be going to launch in the respective device.

Step 3: Create App Id for your app in Apple Developer account

Login to your developer account and select Certificates, IDs & Profiles and then navigate to Identifiers → App IDs and click the add button after that update your app name and click to continue.

After that update the Bundle Id and make sure that the Bundle Id is same as the package name.

As in our app, we are using push notifications so in App services, we marked checked the push notification and next click to continue.

Now check all the configuration carefully and click to register. So now we have successfully created app Id.

Step 4: Create all the certificate for the app

In ios apps, two types for certificates are available Development and Production both these certificates can be generated from the keychain access in mac once the certificates are generated then these certificates can be used here.

As we are using Push Notifications services in our app so we need to create one separate certificate for Development and Production for push notification services. So to create APN certificates follow the following steps.

For Development

1. Create certificates for Development
  • The development certificate is autoloaded when we request for CSR (Certificate Signing Request) in keychain access so make sure you have downloaded the CSR from your keychain access account
2. Create APN certificates for Development (if app has push Notification services)
  • To create the development APN certificate in developer account navigate to Certificates → Development and click to add button to create a new certificate. In the Development section select APN (Apple Push Notification ) and proceed to continue.
  • Now select the App ID here which we have created before and proceed to continue.
  • In Generate section select the CSR (Certificate Signing Request )file which can be found in keychain access account after that proceed to continue now the APN certificate can be downloaded.
  • Once you downloaded the certificate browse that certificate and double click on it so this certificate will going to be saved in keychain account.

For Production

1. Create certificates for Production
  • To create the production certificate in developer account navigate to Certificates → Production and click to add button to create a new certificate. In the Production section select App Store and Hoc and proceed to continue.
  • Now select the App ID here which we have created before and proceed to continue.
  • In Generate section select the CSR (Certificate Signing Request )file which can be downloaded in keychain access account after that proceed to continue now the APN certificate can be downloaded.
  • Once you downloaded the certificate browse that certificate and double click on it so this certificate will going to be saved in keychain account.
2. Create APN certificates for Production (if app has push notifications services)
  • To create the production APN certificate in developer account navigate to Certificates → Production and click to add button to create a new certificate. In the Production section select APN (Apple Push Notification ) and proceed to continue.
  • Now select the App ID here which we have created before and proceed to continue.
  • In Generate section select the CSR (Certificate Signing Request )file which can be found in keychain access account after that proceed to continue now the APN certificate can be downloaded.
  • Once you downloaded the certificate browse that certificate and double click on it so this certificate will going to be saved in keychain account.

Step 4: Create Provisioning Profiles

To deploy the app on the app store we need to create Provisioning Profiles of the app for Development and Distribution so to create the provisioning profiles follow the following steps.

For Development Provisioning Profile
  • To create a provisioning profile login to your developer account and select Certificates, Identifiers & Profiles tab and after that navigate to Provisioning Profile → Development and click to add button. Then in the development section select iOS App Development and proceed to continue.
  • Now select the App ID here which we have created before and proceed to continue.
  • Now select the development certificate which we have created before here which we have created before and proceed to continue.
  • Now select device if no any devices are added before then these devices can be created from Devices tab. In our case, we have selected iPhone 5c
  • Once the device is selected then update the profile name and proceed to continue.
  • Provisioning profile for development is created successfully download it and double click on it so it will be saved in keychain account.
For Distribution Provisioning Profile
  • To create distribution type provisioning profile navigate to Provisioning Profile → Distribution and click to add button. Then in the Distribution section select App Store and proceed to continue.

Step 5: Release the app on the App store in test flight mode

Now we are very close to deploying the app on App store. In App store Test Flight is the mode where you can test your app in iPhone device. In this following steps we are going to release our app on App store in test mode.

1. Create New app in App Store Connect

Before publishing the app we need to create new app on App Store connect account so login to your app store account and click to my app.

Now click on the plus icon from the top left corner and select new app after that select the bundle id for app which we have created before in developer account

2. Rebuild the app with Xcode and update build setting
  • Open your project_name → ios → project_name.xcworkspace or(.xcodproj if you didn't integreated firbase in project)file in Xcode and navigate to Build Setting Tab
  • Now in Code Signing identity → Debug and Code Signing identity → Debug → Any iOS SDK select the Developer certificate which we have created before.


  • After that in Code Signing identity → Release and Code Signing identity → Release → Any iOS SDK select the Distribution certificate which we have created before.


Once you have done all the changes then before building the app make sure in Product → Scheme → Edit Scheme all the tab should be in release mode. Now you are ready to build the app. Now navigate to Product → Clean Build Folder and after that navigate to Product → Build.

3. Archive the project

Now its time to archive the project so before archive the project makes sure you have selected Generic iOS device in the top left corner of your window once you have done then navigate to Product → Archive once the app is successfully archived you will automatically get redirected to the Xcode Organizer window.

Upload App in Test Flight
  • Once the app is successfully archived you will see a list of apps with the version in Xcode Organizer select this app click on the Distribute App.

  • Now you’ll see methods of distribution select iOS App Store and click on next

  • Now here you will see two method Upload or export as we are going to upload app so select upload and click to next.
  • Now you will see two more options which are by default selected leave them as it is and click to next.
  • Now its time to select certificates which we have created before as we are going to distribute this app on production so here we need to selcect to certificates one for distribution and another one is for production. So in Distribution certificate select your distribution certificates.
  • In project_name.app select your production certificate and click on next.
  • Once you clicked next it will take littlebit time to identify your certificates and after that, you will see little details of your app which we are going to upload on the app store.

  • Now click Upload to upload your app on App Store and it will take a little bit time to upload the app on app store. Once the app is uploaded click on done and now its time to login in App store or iTunes account.

  • Once your app is uploaded on test flight after that login to your app store account and click My Apps and navigate to your app → Test Flight and here you will see your app with processing tag.
  • Once the processing is complete then you will see a warning icon like mentioned in image click on this icon and click again on Provide Export Compliance Information.
  • Now a pop up will appear which will ask you about Export Compliance Information in our case we did’nt have any encryption features so select no and click on Start Internal Testing and the app is going to be available on testing mode. You can test you app with test flight app available on App store and to test this app you need to add testers for this particular app on your App store account after that you can test your app

Step 5: Move Your App from Test Flight to Production

So now its time to move your app to the production so your app will be going to available for your users following are the steps that how you can move your app from test fight to production.

  • First login to your App Store account and navigate to My App → Your App and click on App Store Tab.
1. If you are uploading fresh App on App Store
  • If you are Uploading your app first time then you will see 1.0 Prepare for Submission in the left sidebar under iOS App click on it
2. If you want to update your App version (Skip for Fresh App)
  • If you have uploaded your app to production before and want to update your app then click on VERSION OR PLATFORM and a pop up will appear with two options select iOS.

  • Now enter the new version of your app and click on create. Now you will find Prepare for Submission tab with your version click on it
3. Fill out App details and select build
  • Here you will see a screen where you have to fill out all the information about the app.
  • So its time to select the build which we have uploaded on test flight. Scroll down and you will find a Build tab click on Select a build before you submit your app and a pop up will appear with all the uploaded apps on test flight.
  • Click on the app which you want to move to the production and click on done. Now fill out all the information of your app including screenshots.
4. Version release

Once you fill out all the details of app then in version release tab you can choose how you want to release your app.

5. Submit For Review

So Now its time to submit your app so click on Save button and after that click on Save for Review from the top right corner.

After that app store will ask you that is your app has advertisements or not after selecting it click on Submit for review and your app is under review now. Now times taken in the review process depends on App store. Once your app is reviewed successfully then app is going to be move on production.

blog comments powered by Disqus