Master deployment - EAS Build, Fastlane, App Store, Play Store, and OTA updates
Learn to build, sign, and deploy React Native apps to iOS App Store, Google Play Store, and OTA update systems.
After completing this skill, you will be able to:
# Install EAS CLI
npm install -g eas-cli
# Login
eas login
# Configure
eas build:configure
# Build
eas build --platform all --profile production
// eas.json
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"production": {
"autoIncrement": true
}
},
"submit": {
"production": {
"ios": { "appleId": "your@email.com" },
"android": { "track": "production" }
}
}
}
# With Fastlane Match
fastlane match appstore
# Manual (Xcode)
# 1. Create certificate in Apple Developer
# 2. Create provisioning profile
# 3. Download and install in Xcode
# 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
// 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();
}
}
# 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
# 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"
| Error | Cause | Solution |
|---|---|---|
| Code signing failed | Certificate mismatch | Regenerate certs |
| Build number conflict | Not incremented | Use autoIncrement |
| Upload rejected | Missing metadata | Complete all fields |
Skill("react-native-deployment")
Bonded Agent: 07-react-native-deploy
