expo: Bare workflow app stuck on splash screen when expo-updates is enabled
We made the switch to the bare workflow by ejecting out of the managed flow. While trying to setup OTA updates, we followed steps in the documentation - https://github.com/expo/expo/tree/master/packages/expo-updates, and have everything configured.
However, when we try running a release build for iOS, the app gets stuck on the splash screen each time EXUpdatesEnabled is turned on. The logs don’t show any error
Things we’ve tried:
- Running
expo publish --release-channel channelfirst to bundle and upload assets to Expo’s host. Doing this fills in the right value for EXUpdatesURL using the exp.host URL for the project. However the app gets stuck on the Splash screen when run. - Running
expo exportand then hosting the dist/ folder on a S3 bucket serving static files. Also gets stuck on the Splash screen. - Setting
EXUpdatesEnabledto false, app launches as usual. When set back to true, app gets stuck on the Splash screen. - Cleaned build folder and tried a fresh build. Same error.
Expo version is 37.0.7, Expo-cli version is 3.17.24. Debug builds run fine.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 1
- Comments: 15 (5 by maintainers)
@IsaacWIvins sorry to hear that, this is the first release of expo updates and splash screen and we are working through some initial issues still. hopefully it’ll be sorted out for everyone soon.
We had to use react-native-splash-screen in the mean time since this is broken. To be honest the expo-constants, expo-splash-screen, and expo-updates docs have been no help at all for the Bare Workflow
Did some more digging. This happens when both
EXUpdatesRuntimeVersionandEXUpdatesSDKVersionare present in the Expo.plist file.Only setting
EXUpdatesSDKVersionorEXUpdatesRuntimeVersionworks smoothly.The docs do say -
(exactly one of sdkVersion or runtimeVersion is required), but we took this to mean setting at least one of those values. Maybe rewording this to something like(exactly one of sdkVersion or runtimeVersion should be set)To reproduce, run:
expo init -t bare-minimum sampleexpoupdatestestios/sampleexpoupdatestest/Supporting/Expo.plistto add aEXUpdatesRuntimeVersionvalueexpo publish|expo export. This automatically sets a value forEXUpdatesSDKVersionin Expo.plist as well