- SDK Version: 48, bareworkflow
- Platforms(Android/iOS/web/all): Android and iOS
I am really frustrated with this warning now, My splashscreen is configured perfectly according to the docs from expo/packages/expo-splash-screen at main · expo/expo · GitHub for both android and iOS, not matter what I do, I always get No native splashscreen registered warning. I read every post related to it available online, but nothing helps. Here’s my App.js for reference:
import React from 'react';
import { View, Image } from 'react-native';
import * as Font from 'expo-font';
import { FontAwesome } from '@expo/vector-icons';
import { Ionicons } from '@expo/vector-icons';
import { Octicons } from '@expo/vector-icons';
import AsyncStorage from '@react-native-async-storage/async-storage';
import * as SplashScreen from 'expo-splash-screen';
import App from "../App";
SplashScreen.preventAutoHideAsync();
export default class Setup extends React.Component {
constructor(props) {
super(props);
this.state = {
isReady: false,
language: '',
};
}
_isMounted = false;
getLanguage = () =>{
AsyncStorage.getItem('LANGUAGE').then(
(language) => {
this.setState({language: language});
language ? AsyncStorage.setItem('LANGUAGE', language) : AsyncStorage.setItem('LANGUAGE', "en");
}
)
}
async componentDidMount() {
this.prepareResources();
}
prepareResources = async () => {
this._isMounted = true;
await Font.loadAsync({
Poppins_Regular: require('../../assets/Poppins-Regular.ttf'),
Poppins_Bold: require('../../assets/Poppins-Bold.ttf'),
...FontAwesome.font,
...Ionicons.font,
...Octicons.font
});
this.getLanguage();
this.setState({ isReady: true }, async () =>{
await SplashScreen.hideAsync();
});
}
componentWillUnmount() {
this._isMounted = false;
}
render() {
if (!this.state.isReady) {
return null;
}
return (
<App language={this.state.language}/>
);
}
}