IOS release stuck on splash screen if no internet connection
See original GitHub issueSummary
App stuck on splash screen if I turn on airplane mode and start the app. And it won’t start even if I close the app and open it again. It starts only if I kill the app from the tray and then start again.
Managed or bare workflow? If you have ios/
or android/
directories in your project, the answer is bare!
managed
What platform(s) does this occur on?
iOS
SDK Version (managed workflow only)
40.0.0
Environment
Expo CLI 4.4.3 environment info: System: OS: macOS 11.2.2 Shell: 5.8 - /bin/zsh Binaries: Node: 12.13.1 - /usr/local/bin/node Yarn: 1.22.10 - /usr/local/bin/yarn npm: 6.12.1 - /usr/local/bin/npm Watchman: 4.9.0 - /opt/homebrew/bin/watchman Managers: CocoaPods: 1.10.1 - /opt/homebrew/bin/pod SDKs: iOS SDK: Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4 IDEs: Android Studio: 4.1 AI-201.8743.12.41.7199119 Xcode: 12.5/12E262 - /usr/bin/xcodebuild npmPackages: expo: ^40.0.0 => 40.0.1 react: 16.13.1 => 16.13.1 react-dom: 16.13.1 => 16.13.1 react-native: https://github.com/expo/react-native/archive/sdk-40.0.1.tar.gz => 0.63.2 react-native-web: ~0.13.12 => 0.13.18 npmGlobalPackages: expo-cli: 4.4.3 Expo Workflow: managed
Reproducible demo or steps to reproduce from a blank project
Can’t share a reproducible demo as it can be reproduced only in the release build installed from TestFlight.
Here is what I can share. I’ve created an app. It uses NetInfo module it is listening for network changes in App.tsx file. I show the modal that overlays the whole app when there is no internet connection and hide it when NetInfo notifies me that there is a connection.
Next, when I turn on airplane mode and start the app I can see my popup over the Splash screen, and when I turn off the airplaine-mode the modal is gone, but the splash screen is still present and I never see the Home Screen. To make the app work again I have to close the app and remove it from the tray.
I’ve read that there might be a problem with OTA Updates, so I’ve tried to set ‘updates.fallbackToCacheTimeout’ to 0 or 1. Even tried ‘updates.enabled’ false. That didn’t help.
I’ve checked a device logs and the last warning I see, after enabling the network is ‘nehelper sent invalid result code [1] for Wi-Fi information request’
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (4 by maintainers)
Top GitHub Comments
Are you using
AppLoading
orSplashScreen
?If you are using
AppLoading
either yourstartAsync
callback is hanging, or youronFinish
oronError
don’t set the proper condition to bypass yourAppLoading
. For instance, let’s say you have aconst [ready, setReady] = useState(false)
, and thenif (!ready) return <AppLoading...
. Both youronFinish
andonError
will need to result insetReady(true)
.If you are using
SplashScreen
, then it’s a little more freeform. But you need to ensure thathideAsync()
is called at some point.This issue was closed because it has been inactive for 7 days since being marked as stale. Please open a new issue if you believe you are encountering a related problem.