EAS Build -> Managed Workflow -> Expo Publish -> App crashes

Hey all. So if I understand things correctly when I build with eas build it uses the default release channel.

Once the app is published and submitted to TestFlight I am trying to send a minor update to it using expo publish but what happens is my app just crashes once I publish an update.

Any idea why this could be happening?

You should debug this further- it strongly indicates that your new JS has a fatal error in it that’s causing your app to crash. You can use something like Sentry to try and get more information on those errors

In the future- posting that your app is crashing and asking why is just way to general, and it’s impossible for anyone to offer any real help. You should debug your app the same way you’d debug any other code you’ve written to try and identify the root cause and fix it. We have a guide on production app debugging you can follow as well

Thanks Charlie appreciate the candid feedback. No problem with the javascript bundle, once I package and deploy through eas build again all works fine.

Just trying to ascertain whether it should work really here before diving deep as I noticed the limitations on eas build for managed workflows but there was nothing indicating this would be a problem.

heya, check out this section of the docs: Over-the-air updates - Expo Documentation

this is a temporary quirk that will go away when we get closer to launching proper managed support

Ah yes that’s the problem, thanks Brent. Apologies I missed that in the docs.

1 Like

sorry about that @sensive ! I was not aware of the need for the --target bare flag when running expo publish for EAS managed apps right now

3 Likes

Is this still the case with SDK 41 - Managed Apps?

I’ve just bought EAS access as it seemed a nice solution, but my ios app (appstore as well as simulator) crashes directly on launch … so not really sure how to debug it, as it’s fine within the Expo Go client.

Regards

this is no longer the case with SDK 41 managed apps.

Separately- EAS access won’t help you with app crashes- you should investigate the device logs and follow this guide to debugging prod app crashes

I understand though It’s very weird. I’ve just tested a simulator build with the normal expo build command, all runs perfectly on both iOS and Android.

App also runs perfectly after upgrading to SDK 41 within Expo Go client on both iOS / Android.

But when I do an EAS build (wanted that tree shaking feature which got my app from 55MB to 19MB), iOS crashes on simulator, even before loading the splash screen, whereas on Android, it crashes when it tries opening up the camera.

Again, both work just fine using expo build … so I’m pretty much sure it’s not related to the code.

make sure to follow these instructions: Migrating from “expo build”

as @charliecruzan mentioned, there is some useful debugging advice in the docs also.

also, if you have Xcode installed locally, you can run expo run:ios and it will do the same sort of build process as on EAS Build and build the app for the simulator. this command generates some other files, so once you’re done investigating, just reset to the most recent commit and run npm install again to restore your node_modules to their previous state

so I’m pretty much sure it’s not related to the code.

we’ve handled every difference we were aware of automatically where possible and otherwise clarified differences in the migrating doc. but there may be some differences between expo build and eas build we didn’t account for yet, and those could be impacting you. so let us know what you find from the above.

for example, maybe you’re using env vars in your app in some places. it could be that you didn’t add env vars to your build configuration on eas build (as described in the migrating doc), so when you run your app and it tries to access the env var then it crashes.