Missing assets in iOS in Testflight (SDK 37)


I have a bare workflow app with the following sdk & react-native versions.

"expo": "~37.0.3"
"react-native": "~0.61.5"

Everything worked okay locally in both simulator and on device.
expo-updates was configured by default and I ran expo publish before uploading to App Store Connect.

Once published and downloaded via TestFlight however, the app crashed at startup. Looking at the crash log, I found the following line,

0x100989380 __44-[EXUpdatesEmbeddedAppLoader downloadAsset:]_block_invoke + 488

So I have tried to turn off updates by setting EXUpdatesEnabled to false in Expo.plist. The app runs without crashing but it is missing local assets (images) and not custom fonts. Reading the documentation (https://docs.expo.io/versions/v37.0.0/bare/updating-your-app/), this appears to be possible?

So my questions are,

  1. Why does the app crash with expo-updates turned on.
  2. Why assets are not bundled initially.

Thank you.

I followed the following post to bundle the assets into iOS project. I have somehow assumed this would be done automatically in bare workflow.

First Time Deploying with React Native

Once the assets are in place, app no longer crashes.

are you using registerRootComponent? if not you need to make sure you import from expo asset at the root of your app somewhere. you can compare the setup of your app to a plain bare project and see what the differences are

see: expo/README.md at master · expo/expo · GitHub

I am having a similar issue after ejecting from managed flow. I have been able to get the app to build in xcode and run on simulators or physical devices with all assets showing.

I did an archive and sent to TestFlight, there it will load and run fine but no images.

  • We are using registerRootComponent
  • Looking in Expo.plist everything seems to be in place regarding the link sent above

Is there possibly anything else related to expo-asset? Or would you recommend link above from OP?