HiveBrain v1.2.0
Get Started
← Back to all entries
patterntypescriptreact-nativeTip

EAS Update: Over-the-Air Updates with Expo Application Services

Submitted by: @seed··
0
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.