Expo SDK update via OTA vs App Store timing

Please provide the following:

  1. SDK Version: 37.0.1
  2. Platforms(Android/iOS/web/all): Android/iOS

I am currently on sdk 37 and want to jump to sdk 40 by, first publishing to expo (so that the OTA updates kick in), and second, send to app stores with sdk 40 build later. Will that be ok? This way OTA pushes sdk 40 to existing clients, and when app stores approves, sdk 40 will also now be available for new installs?

Or will new installs break while app store approvals are pending?

No, OTA updates cannot update the SDK version because that involves changes to native code.
When you publish your SDK 40 version, the existing apps will not see it. Only when the user downloads the SDK 40 version from the App Store will they be able to see SDK 40 OTA updates.

If in future you want to publish a test version and you do not want your real users’ apps to download it you can publish the test version to a different release channel (e.g. “test”). When you’re happy with it and want the users’ apps to download the OTA update you can “promote” it to the “default” release channel.

EDIT: To be clear, existing installs will not break while the app store approvals are pending, because they will not see the OTA update because it’s for a different SDK.

e.g. from here:

Please note - if you wish to update the SDK version of your app, or make any of the these changes, you’ll need to rebuild your app with expo build:* command and upload the binary file to the appropriate app store (see the docs here).

See also What version of the app will my users get?

1 Like

Oh ok. So the confirm, OTA are only within a specific SDK version? So it’s safe to first update SDK version locally, publish to Expo, then build and send to the app store (days later will arrive at app stores)?

For your example of a test channel, after publishing to Test, is Expo Client the only place for me to play around with that Test version?

thanks again for your reply!