You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RN 71下react-native-bootsplash适配报错问题咨询

React Native 71 适配 react-native-bootsplash 解决方案

iOS 端适配(解决use of undeclared identifier 'rootView'错误)

1. 修改 AppDelegate.mm 文件

首先在文件顶部添加BootSplash的头文件导入:

#import <RNBootSplash/RNBootSplash.h>

然后选择以下任意一种方式集成:

方式一:重写 rootView 生成方法

在@implementation AppDelegate中添加如下代码,在系统创建rootView后直接配置BootSplash:

- (UIView *)rootViewWithBridge:(RCTBridge *)bridge
{
  UIView *rootView = [super rootViewWithBridge:bridge];
  // 替换成你自己的启动屏Storyboard名称
  [RNBootSplash initWithStoryboard:@"BootSplash" rootView:rootView];
  return rootView;
}

方式二:在启动方法中获取rootView配置

修改application:didFinishLaunchingWithOptions:方法,在系统初始化完成后获取rootView并初始化BootSplash:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  self.moduleName = @"你的App名称";
  self.initialProps = @{};

  BOOL launchResult = [super application:application didFinishLaunchingWithOptions:launchOptions];
  
  // 获取当前rootView
  UIView *rootView = self.window.rootViewController.view;
  // 替换成你自己的启动屏Storyboard名称
  [RNBootSplash initWithStoryboard:@"BootSplash" rootView:rootView];
  
  return launchResult;
}

2. 清理旧代码

确保AppDelegate中没有以下内容:

  • #import <React/RCTRootView.h>(RN71已移除该类,无需导入)
  • 任何直接创建或引用RCTRootView的旧代码

Android 端(可选)

RN71对Android端的初始化逻辑改动较小,直接按照react-native-bootsplash官方文档的集成步骤操作即可,若出现异常,可检查:

  • 确保MainActivity继承自ReactActivity
  • 启动屏的drawable资源和配置文件正确配置

内容的提问来源于stack exchange,提问作者wind_kind

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 05:05:41