Deployment
Ship React Native apps to App Store and Google Play with signing, versioning, and update strategies.
iOS Release
Configure bundle identifier, signing certificates, and provisioning profiles in Xcode. Archive release builds and upload via Transporter or fastlane deliver.
App Store Connect requires screenshots, privacy nutrition labels, and review notes. TestFlight distributes beta builds.
Enable bitcode settings per current Apple guidance and use automatic signing for teams when possible.
- Increment CFBundleShortVersionString and CFBundleVersion
- Run release on device before submission
- Handle App Tracking Transparency if using IDFA
Android Release
Generate upload keystore and configure signing in android/app/build.gradle. Build AAB with ./gradlew bundleRelease for Play Console.
Play App Signing stores keys Google-side. Configure versionCode monotonically increasing each upload.
Test on multiple API levels and screen densities; Play pre-launch reports catch crashes.
- Enable ProGuard/R8 rules for native modules you use
- Store keystore backups securely—loss blocks updates
- Use internal testing track before production rollout
cd android && ./gradlew bundleRelease
OTA Updates
Expo Updates and CodePush deliver JavaScript bundle updates without store review for bug fixes avoiding native changes.
OTA cannot replace native code changes—plan store releases when upgrading RN or adding native modules.
Implement version compatibility checks so old binaries do not load incompatible JS bundles.
- Roll out OTA gradually with staged deployments
- Monitor crash rates after OTA pushes
- Document rollback procedure to previous bundle