React Native Deployment Skill
Learn to build, sign, and deploy React Native apps to iOS App Store, Google Play Store, and OTA update systems.
Prerequisites
- •React Native app ready for production
- •Apple Developer Account (iOS)
- •Google Play Developer Account (Android)
- •Basic understanding of CI/CD
Learning Objectives
After completing this skill, you will be able to:
- • Configure EAS Build for production
- • Set up iOS code signing
- • Generate Android keystores
- • Submit to App Store and Play Store
- • Implement OTA updates with EAS Update
Topics Covered
1. EAS Build Setup
bash
# Install EAS CLI npm install -g eas-cli # Login eas login # Configure eas build:configure # Build eas build --platform all --profile production
2. EAS Configuration
json
// eas.json
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"production": {
"autoIncrement": true
}
},
"submit": {
"production": {
"ios": { "appleId": "your@email.com" },
"android": { "track": "production" }
}
}
}
3. iOS Code Signing
bash
# With Fastlane Match fastlane match appstore # Manual (Xcode) # 1. Create certificate in Apple Developer # 2. Create provisioning profile # 3. Download and install in Xcode
4. Android Keystore
bash
# Generate keystore keytool -genkeypair -v -storetype PKCS12 \ -keystore release.keystore \ -alias my-key-alias \ -keyalg RSA -keysize 2048 -validity 10000 # NEVER commit keystore or passwords
5. OTA Updates
typescript
// Check for updates
import * as Updates from 'expo-updates';
async function checkUpdates() {
const update = await Updates.checkForUpdateAsync();
if (update.isAvailable) {
await Updates.fetchUpdateAsync();
await Updates.reloadAsync();
}
}
6. Submission Commands
bash
# Build and submit in one command eas build --platform all --profile production --auto-submit # Submit existing build eas submit --platform ios --latest eas submit --platform android --latest
Quick Start Example
bash
# 1. Configure EAS eas build:configure # 2. Build for production eas build --platform all --profile production # 3. Submit to stores eas submit --platform all --latest # 4. Push OTA update eas update --branch production --message "Bug fixes"
Pre-Submission Checklist
iOS App Store
- • App icon (1024x1024)
- • Screenshots (all sizes)
- • Privacy policy URL
- • App review information
- • Build uploaded to TestFlight
Google Play Store
- • Hi-res icon (512x512)
- • Feature graphic (1024x500)
- • Screenshots (phone + tablet)
- • Content rating completed
- • Signed AAB uploaded
Common Errors & Solutions
| Error | Cause | Solution |
|---|---|---|
| Code signing failed | Certificate mismatch | Regenerate certs |
| Build number conflict | Not incremented | Use autoIncrement |
| Upload rejected | Missing metadata | Complete all fields |
Validation Checklist
- • Build succeeds for both platforms
- • App installs from TestFlight/Internal
- • OTA updates apply correctly
- • Store listing is complete
Usage
code
Skill("react-native-deployment")
Bonded Agent: 07-react-native-deploy