URGENT: Expo Publish OTA causes app crash on open

Please provide the following:

  1. SDK Version: 43
  2. Platforms(Android/iOS/web/all): iPhone 12, iOS 14.8
  3. Add the appropriate “Tag” based on what Expo library you have a question on.

I recently made an expo publish to my most-used release channel, but now the app crashes on open. To be specific, when I tap on it, it flashes the splash screen for a brief moment and then shows me a blurred-out version of my phone’s home screen before completely crashing. This happens every single time that I tap to open the app.

The only fix I have found is deleting the app and reinstalling it from the app store. It seems to download the latest version that I pushed via the OTA since, after this fresh install, I was running the latest version code, but now it didn’t crash.

I believe this issue is with the expo publish servers since the above method of deleting and reinstalling, gives me the latest version that I had pushed the OTA for. Either way, I’m not sure what the fix is to this. I have tried pushing out another OTA by bumping the version and making an expo publish to the same release channel in case it is a cached version issue, but that didn’t work and the app still crashes in the same manner.

UPDATE: I think the issue is that I upgraded to expo 43 and made an OTA to the release channel that had expo 42, which is a new binary with a bunch of dependency changes which cannot be sent over OTA. Is there a way to rollback this OTA to a working version? Or if not, is there a way to kill the current OTA that is causing the crashes so it doesn’t try to update users when they open the app, and they can use the current build that’s on the app store?

I have a lot of users on this release channel so any help would be greatly appreciated! Thank you!

Hey @amohile, you can leverage the expo publish:rollback command to handle reverting back to a prior update. Are you running a Managed or Bare project?


Thanks for getting back so quickly @adamjnav. I’m on a managed project using eas to build. Will this work if the current OTA has major dependency changes that are now on the user’s device? The last publish I made on that release channel prior to this breaking one, was with Expo 42 SDK, so will rolling back the publish just remove the OTA I pushed out last night, and the users will go back to what their apps had before the OTA OR will it push out the OTA that’s second in the stack, which is on Expo 42?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.