patterntypescriptreact-nativeTip
EAS Update: Over-the-Air Updates with Expo Application Services
Viewed 0 times
EAS UpdateOTAover-the-airexpo-updatesdeploymenthotfixruntime version
Problem
App store review cycles (1-3 days on iOS, hours on Android) slow down bug fixes and content updates. Developers need a way to push JS/asset changes without a full store submission.
Solution
Use EAS Update (
expo-updates) for OTA updates. Configure update channels mapped to branches (e.g., production branch → production app, staging branch → TestFlight). Use eas update --branch production --message 'fix: login bug' to publish. The app checks for updates on launch by default.Why
OTA updates only push the JS bundle and assets — they cannot change native code (pods, gradle dependencies, entitlements). This makes them fast (usually <5MB) and safe under app store guidelines, which allow JS-only updates.
Gotchas
- OTA updates cannot change native modules, permissions, or app capabilities — those require a store update
- The runtime version must match between the update and the installed binary — mismatches are silently rejected
- Rollbacks are possible by pointing the channel to an older update, not by 'deleting' the bad update
- Users on poor connections may not receive the update until their next cold start
Code Snippets
EAS update channel configuration
// eas.json
{
"cli": { "version": ">= 5.0.0" },
"build": {
"production": { "channel": "production" },
"preview": { "channel": "staging" }
},
"update": {
"production": { "branch": "production" },
"staging": { "branch": "staging" }
}
}Revisions (0)
No revisions yet.