Dev Client: No native splash screen registered for given view controller. Call 'SplashScreen.show' for given view controller first.
Minimal reproducible example
https://github.com/haibert/SplashScreenIssue
Summary
On Dev Client, we get the following warning on start up:
No native splash screen registered for given view controller. Call 'SplashScreen.show' for given view controller first.
The application stays stuck on splash screen unless the await SplashScreen.hideAsync(); is called twice.
This doesn't happen on an actual build but just happens on dev client.
Environment
expo-env-info 1.0.5 environment info: System: OS: macOS 13.3.1 Shell: 5.9 - /bin/zsh Binaries: Node: 16.18.1 - ~/.nvm/versions/node/v16.18.1/bin/node Yarn: 1.22.10 - /usr/local/bin/yarn npm: 8.19.2 - ~/.nvm/versions/node/v16.18.1/bin/npm Watchman: 2023.02.13.00 - /usr/local/bin/watchman Managers: CocoaPods: 1.11.3 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4 IDEs: Android Studio: 2021.2 AI-212.5712.43.2112.8609683 Xcode: 14.3/14E222b - /usr/bin/xcodebuild npmPackages: @expo/webpack-config: ^18.0.1 => 18.0.1 expo: ~48.0.11 => 48.0.11 react: 18.2.0 => 18.2.0 react-dom: 18.2.0 => 18.2.0 react-native: 0.71.7 => 0.71.7 react-native-web: ~0.18.12 => 0.18.12 npmGlobalPackages: eas-cli: 3.7.2 expo-cli: 6.1.0 Expo Workflow: managed
hi there! the minimal reproducible example you provided is a sdk 45 project which is inconsistent with the expo-env-info information you mentioned. could you double check for the repro?
I have that too, but only during the first launch of the client on particular device - when bottom sheet appears. I just press reload and the problem never comes back on that device.
Also an issue in production build, expo 48, managed workflow
Also for me..
Same problem too..I think this is nothing to do with splash screen though.
Have this issue on Expo SDK 48 aswell
@Kudo I have this issue in production ios app, in "expo": "^49.0.9", "expo-splash-screen": "~0.20.5",
No native splash screen registered for given view controller. Call 'SplashScreen.show' for given view controller first.
Seeing this error when bottom sheet is active. Bottom sheet can be dismissed but splashscreen stays visible. [email protected] and [email protected]
Have the same warning with "expo-splash-screen": "^0.22.0" and Expo SDK 49 -- very cryptic warning message too.
The same for me with SDK 49 and splash screen 0.22 in IOS production app. Any updates on this?
This issue is stale because it has been open for 90 days with no activity. If there is no activity in the next 7 days, the issue will be closed.
Same with SDK 50.
I am having the same issue with Expo 50.0.6 and [email protected]
saaaame here, so many cases of it in our app
this is one of the top events being sent to our sentry
Just in case it helps, in our case we've found out that we were calling hideAsync() multiple times as opposed to a single time during app startup (when the app is ready).
const onLayoutRootView = useCallback(async () => {
if (isAppReady) {
await ExpoSplashScreen.hideAsync()
}
}, [isAppReady])
return (
<SafeAreaProvider onLayout={onLayoutRootView}>
// Your app
</SafeAreaProvider>
)
Started happening with Expo 51, only calling hideAsync() once.
I'm seeing this on a brand new project using expo-router (as expo-splash-screen is a dependency). I'm not calling any of the splash screen functions, it just happens.