Hello, I'm Cecilia Martinez, Developer Advocate for AppFlow, the mobile CI CD platform built by Ionic. This is Code Signing React Native Apps. Code signing is a critical step in preparing your React Native apps to run on mobile devices. This process signs your app with secure credentials during the build process. It's required by both iOS and Android apps, but the process is different for each platform. If you plan to automate your mobile builds in CI CD, you'll need to make sure that your credentials are in your cloud environment, so understanding how they work is critical for a seamless app delivery process.
Let's start with Android. To generate a signed bundle of your React Native app for Android, you'll need to generate an upload Keystore. During the process of generating it, you want to make sure that you take note of the Keystore path, alias, Keystore password and key password. An upload Keystore can be generated in Android Studio or by using Keytool, which is a CLI tool that comes built into the Android Studio SDK. Make sure not to lose the file, as it lives on for the life of the application, although if you do lose it, you can update it if needed, but only if you're using Google Play App Signing. To generate an Android Studio, click the Generate Signed Bundle, or APK, and then follow the instructions to generate a key. Make sure to take note of the path where the Keystore is saved and the alias and passwords. For Keytool, you're going to run the Keytool command with the genKey flag and then pass the keystore file name, alias, algorithm, size, the length of the time before it expires, and the store type. The CLI will prompt you for your information and then create the Keystore in the same directory that you run the command. You can complete the process of generating a sign bundle in Android Studio, but if you want to build via the command line or in CICD, you're going to need to add your Keystore info to the signing config block within your app.build.gradle file in your React Native project. This lets Gradle know where to find your signing credentials when it's time to build.
Things get a little more complicated with Apple. For iOS apps, you need two credentials, a signing certificate, and a provisioning profile. You do need an Apple Developer Program account in order to generate these. And if you plan to use Xcode for generation, make sure that you connect that Apple Developer Program account to Xcode. Signing certificates validate the identity of who generated the build and that they're authorized to do so. This is a P12 file. To generate an Xcode, you can do this by going to Settings, then Accounts, and then Manage Certificates. Click the plus icon and select the certificate type. You can then right click and export the P12 certificate, making sure that you give it a strong password. To generate a signed certificate from the Apple Developer Program, you're first going to need to generate a signed certificate request file. This is done using Certificate Assistant and Keychain Access. Then upload that request file to the Apple Developer Program to create a certificate. This will generate a .cer file, which then you can use Keychain Access or OpenSSL to convert to a P12.
Comments