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

RN 0.61.5迁移至0.62.0后iOS编译报错:FlipperKit/FlipperClient.h未找到

解决React Native 0.62.0迁移后Flipper头文件找不到的问题

以下是针对「FlipperKit/FlipperClient.h file not found」错误的具体修复步骤:

1. 验证Podfile的Flipper配置

确保iOS目录下的Podfile包含官方指定的Flipper配置,RN 0.62.0对应推荐的Flipper版本为0.33.1,配置片段如下:

# 在Podfile合适位置添加
use_flipper!({ 'Flipper' => '0.33.1', 'Flipper-Folly' => '2.1.0' })

post_install do |installer|
  flipper_post_install(installer)
end

不要自行修改Flipper版本号,避免版本不兼容。

2. 清理Pod缓存并重新安装依赖

执行以下命令彻底清理并重新安装Pods:

cd ios
rm -rf Pods Podfile.lock
pod deintegrate
pod install --repo-update

完成后关闭Xcode,使用Cmd+Shift+K清理Xcode项目缓存,再重新打开.xcworkspace文件。

3. 检查AppDelegate.m的代码规范

确认AppDelegate.m中Flipper的引入和初始化代码符合以下要求:

  • 所有Flipper相关引入都包裹在#if DEBUG块内
  • 头文件使用尖括号<>引入(而非双引号)
  • 初始化函数调用正确

示例代码:

#import "AppDelegate.h"

#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>

#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

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
#if DEBUG
  InitializeFlipper(application);
#endif

  RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
  RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
                                                   moduleName:@"YourAppName"
                                            initialProperties:nil];

  rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];

  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  UIViewController *rootViewController = [UIViewController new];
  rootViewController.view = rootView;
  self.window.rootViewController = rootViewController;
  [self.window makeKeyAndVisible];
  return YES;
}

// ... 其他代码
@end

4. 检查Xcode项目的Header Search Paths

打开Xcode项目的Build Settings,搜索Header Search Paths,确保包含$(inherited)且设置为递归(Recursive)。如果缺失,手动添加该路径项。

5. 确认Flipper Pods是否正确安装

查看ios/Pods目录,确认存在Flipper、FlipperKit、Flipper-Folly等文件夹。如果不存在,重新执行pod install并查看控制台输出的错误信息,排查依赖安装失败的原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 10:15:47