升级React Native 0.64出现FBReactNativeSpec构建循环错误如何解决?
React Native 0.64版本Xcode FBReactNativeSpec构建循环错误解决方案
错误根因
RN 0.64版本默认CocoaPods配置的构建阶段排序错误:[CP-User] Generate Specs脚本阶段位置滞后于编译、头文件复制阶段,而这两个阶段又依赖该脚本的输出产物,最终形成构建循环。
临时修复方案(重新执行pod install后会失效)
- 打开Xcode,在左侧项目导航栏点击
Pods项目 - 在Targets列表中找到
FBReactNativeSpec目标 - 点击顶部的
Build Phases标签 - 拖拽
[CP-User] Generate Specs阶段,将其移动到Compile Sources、Headers两个阶段的最前方即可
永久修复方案(重新执行pod install后自动生效)
在项目根目录的Podfile中添加如下post_install钩子代码:
post_install do |installer| installer.pods_project.targets.each do |target| if target.name == 'FBReactNativeSpec' generate_phase = target.build_phases.find { |phase| phase.name == '[CP-User] Generate Specs' } target.build_phases.move(generate_phase, 0) end end end
添加完成后重新执行pod install,构建阶段排序会自动调整,无需手动修改Xcode配置。
生效验证
修改完成后执行如下操作即可正常构建:
- 执行
rm -rf ~/Library/Developer/Xcode/DerivedData命令清空Xcode全局缓存 - 按下快捷键
Command + Shift + K清理Xcode当前项目缓存 - 重新执行项目构建操作
内容的提问来源于stack exchange,提问作者Alejandro Gonzalez
相关产品推荐
相关产品推荐

