使用Xcode运行React Native应用时持续出现Flipper错误,多方案尝试无效
解决React Native 0.68.5在Xcode运行时Flipper报错问题
从报错截图来看,这类问题大多是Flipper版本与RN 0.68.5不兼容,或是缓存、配置冲突导致的,以下是几个实测有效的解决方案:
方案1:指定兼容的Flipper版本
RN 0.68.x对Flipper版本有严格适配要求,修改ios/Podfile:
- 找到
use_flipper!()行,替换为:
use_flipper!({ 'Flipper' => '0.149.0', 'Flipper-Folly' => '2.6.10' })
- 执行终端命令:
cd ios && pod install --repo-update
- 重新用Xcode编译项目
方案2:临时禁用Flipper(无需调试工具时)
如果不需要Flipper的调试功能,可以直接关闭它:
- 打开
ios/Podfile,注释掉以下代码:
# use_flipper!() # post_install do |installer| # flipper_post_install(installer) # end
- 执行
cd ios && pod install - 按
Cmd+Shift+K清理Xcode缓存后重新编译
方案3:清理所有缓存后重装依赖
缓存冲突也会引发这类报错,按以下步骤操作:
- 关闭Xcode,删除
ios/build文件夹 - 终端执行:
cd ios && pod deintegrate && pod clean
- 重新执行
pod install - 打开Xcode,清理项目缓存后编译
方案4:检查AppDelegate中的Flipper初始化代码
确认ios/AppDelegate.m(或.mm)中的初始化代码符合RN 0.68.x规范:
#if DEBUG #import <FlipperKit/FlipperClient.h> #import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h> #import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h> #import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h> #import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h> #import <FlipperKitReactPlugin/FlipperKitReactPlugin.h> static void InitializeFlipper(UIApplication *application) { FlipperClient *client = [FlipperClient sharedClient]; SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults]; [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]]; [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]]; [client addPlugin:[FlipperKitReactPlugin new]]; [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; [client start]; } #endif
并确保在didFinishLaunchingWithOptions方法的DEBUG分支中调用了InitializeFlipper(self);
内容的提问来源于stack exchange,提问作者Abdullah Ali
相关产品推荐
相关产品推荐

