Skip to content

React Native _ Deployment

Jagdeep Singh edited this page Jul 10, 2019 · 3 revisions

Apple

  • Create a development account with apple
  • Add app icons
  • Add splash screens
  • Create a new explicit app id on developer.apple.com
  • Select your explicit app id as the bundle identifier in Xcode
  • Create development and production certificates for your app
  • Create development and production provisioning profiles for your app
  • Create app in iTunes Connect
  • Upload

Android

  • Create Google Play Developer Account
  • Add app icons
  • Add splash screens
  • Update the package name of your application
  • Generate the Signed Production APK
  • Create app in the Google Play Console
  • Upload

  1. The native code: manage the native stuff. (Objective-C or Java)
  2. The JavaScript code: use different APIs to interact with the underlying native implementations.

Parts of React Native

React Native takes your JavaScript code and uses that logic to interact with the native code. React Native exposes many native APIs to us.

How to Update

Over-the-Air (OTA)

Just update the code and send it out, once the user downloads the new code, the app will be updated.

App Store

Using platform specific tools to upload a new .ipa or .apk.

When you do this, you're re-compiling the native code and re-bundling the JavaScript. You're shipping 100% new code and you can do anything at this point.

This also means you have to go through the usual review process & waiting period.

When to Update

Over-the-Air (OTA)

If you're only modifying your JavaScript or image assets, it means that information can be bundled up and shipped out over the air because all of the underlying APIs are the same as they were before, your interaction with them is the only thing that has changed.

Caution: if you make significant changes to the app and update OTA, it can get you in trouble with Apple/Google.

If it's a patch version (bug fix, minor improvement) it can go out OTA. If it's a major or minor version change, send it via the regular app store approval process.

When in doubt, go through the app store.

Tools

OTA Updates = CodePush

Tool to quickly and easily manage and update your production React native JavaScript bundles. Easy to setup, easy to use, and it's free.

Native Updates = Fastlane

Helps automate many of the repetitive tasks that come along with building the native app.

Continuous Integration = Bitrise/CircleCI

Allow automation of the build & deployment process of your native app. No more waiting for the app to build on your machine, and you take the human error element out.

Clone this wiki locally