Peakiq Blog
26 November 2025

A splash screen is the first thing users see when they open your app. It helps:
In this guide, we’ll set up a native iOS splash screen in a React Native project using Swift, with the help of the react-native-splash-screen library.
react-native-splash-screen?Run in your project root:
npm install react-native-splash-screen --save
Or with Yarn:
yarn add react-native-splash-screen
Navigate to your iOS folder and install pods:
cd ios
pod install
AppDelegate.swiftOpen AppDelegate.swift and add the splash initialization.
import UIKit
import React
import React_RCTAppDelegate
import ReactAppDependencyProvider
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
) -> Bool {
// 👉 Add this after RN is initialized
RNSplashScreen.show()
return true
}
}
This tells iOS to display the splash screen immediately when the app launches.
If your project uses Swift + Objective-C, you need a bridging header.
YourProjectName-Bridging-Header.h
abcproject-Bridging-Header.h
#import "RNSplashScreen.h"
Go to:
Build Settings → Swift Compiler – General → Objective-C Bridging Header
Set the path:
$(PROJECT_NAME)/$(PROJECT_NAME)-Bridging-Header.h
Example:
abcproject/abcproject-Bridging-Header.h
Once your JS code loads and your app is ready, hide the splash screen.
import { useEffect } from "react";
import SplashScreen from "react-native-splash-screen";
const App = () => {
useEffect(() => {
// Hide splash when the app is fully loaded
SplashScreen.hide();
}, []);
return (
// Your App UI
);
};
export default App;
You can delay the splash removal until:
Your React Native iOS app will now:
This gives your users a smooth, professional startup experience.