[Unhandled promise rejection: Error: No native splash screen registered for given view controller. Call 'SplashScreen.show' for given view controller first.]

Please provide the following:

  1. SDK Version: 39 - 43 Managed Workflow
  2. Platforms(Android/iOS/web/all): iOS
  3. Add the appropriate “Tag” based on what Expo library you have a question on.

I upgraded my app from SDK 38 since it crashes on the new iOS 15.1 in the App Store and after the upgrade to SDK 39 I get the error [Unhandled promise rejection: Error: No native splash screen registered for given view controller. Call ‘SplashScreen.show’ for given view controller first.]

I upgrade all the way to 40, 41, 42, and 43 and the same error persists for each SDK, it works well on Android. Please we need to publish a working iOS build to the store ASAP.

Package.json

"dependencies": {
    "@expo/vector-icons": "^10.0.0",
    "babel-preset-expo": "8.5.1",
    "create-react-context": "^0.3.0",
    "expo": "^39.0.3",
    "expo-app-loading": "~1.2.1",
    "expo-asset": "~8.2.0",
    "expo-av": "~8.6.0",
    "expo-blur": "~8.2.0",
    "expo-font": "~8.3.0",
    "expo-image-picker": "~9.1.1",
    "expo-keep-awake": "~8.3.0",
    "expo-location": "~9.0.0",
    "expo-notifications": "~0.7.2",
    "expo-permissions": "~9.3.0",
    "expo-secure-store": "~9.2.0",
    "moment": "^2.24.0",
    "native-base": "^2.13.8",
    "prettier": "^1.18.2",
    "prop-types": "^15.7.2",
    "react": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-39.0.3.tar.gz",
    "react-native-autolink": "^1.8.1",
    "react-native-aws3": "^0.0.9",
    "react-native-datepicker": "^1.7.2",
    "react-native-expo-image-cache": "^4.0.8",
    "react-native-gesture-handler": "~1.7.0",
    "react-native-get-random-values": "^1.7.1",
    "react-native-image-view": "^2.1.5",
    "react-native-maps": "0.27.1",
    "react-native-open-maps": "^0.3.3",
    "react-native-reanimated": "~1.13.0",
    "react-native-screens": "~2.10.1",
    "react-navigation": "^4.4.4",
    "react-navigation-drawer": "^2.1.2",
    "react-navigation-stack": "^1.5.5",
    "uuid": "^8.3.2"
  }

Preloader component

 <AppLoading
        startAsync={this.cacheAssets}
        onError={e => {
          this.setState({ ready: true });
          showError("Error loading resources");
          console.error(e);
        }}
        onFinish={() => this.setState({ ready: true })}
      />

cacheAssets = async () => {
    await CacheManager.clearCache(); // TODO: Something better than this
    await Promise.all([
      Asset.loadAsync([
        require("../assets/bundled/pin_unfound.png"),
        require("../assets/bundled/pin_found.png"),
        require("../assets/bundled/header.png")
      ]),
      Asset.loadAsync([
        // TODO: Only preload this on first open
        require("../assets/bundled/intro.mp4")
      ])
    ]);
  };

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.