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
相关产品推荐
相关产品推荐

