Error: No native splash screen registered for provided activity. Please configure your application's main Activity to call 'SplashScreen.show

  1. SDK Version: 48, bareworkflow
  2. 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}/>
    );
  }
}

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