Deploying a React Native App to the App Store
Deploying an app to the Apple App Store can be difficult especially when built using React Native. The App Store is optimized for app developed using Swift; Apple’s Language and the process is further streamlined when Xcode is used. However, many React Native developers tend to use Expo for their projects which gets rid of the need to learn any Swift or even use Xcode. Projects like these can be quite challenging to deploy and have running as a stand alone app.
When submitting an app to any kind of App Store or marketplace there are many requirements and guidelines that must be met or the app will not be accepted into the store. For example, in our case an app must have meet these requirements;
- Having a splash screen
- Making sure it’s compatible with a large number of devices (there are many kinds of iPhones
- Having correct metadata, descriptions, and versioning
- Having a privacy policy
- and everything else outlined in the App Store Review Guidelines
After all this is taken care of the next step would be to make our Expo app a standalone App
Building a Standalone App
When using Expo these steps are streamlined using the Expo CLI we can run the command
expo build:ios
The file produced by this process can be uploaded to the App Store. When doing so an Apple Developer Account is required. Using a Transporter from the App Store this can upload the App to the App Store which allows us to run the app using TestFlight Apple’s beta testing environment.
Using AppStoreConnect the app can be fully deployed to be accessed by all in the App Store
Using Expo does streamline the process however, there is many obstacles to consider when uploading an app which mainly come down to compatibility and usability of the app. Apple sets forth strict guidelines that we must follow in order to have a successful deployment.