Please provide the following:
- SDK Version: 39 - 43 Managed Workflow
- Platforms(Android/iOS/web/all): iOS
- 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")
])
]);
};