在现有iOS应用集成React Native遇React Fabric codegen执行错误
解决React Native Fabric Codegen运行错误(Xcode 15.3)
1. 检查Codegen脚本配置
- 确认iOS项目
Build Phases中已添加正确的执行脚本,脚本内容需包含:../node_modules/react-native/scripts/react-native-xcode.sh - 确保脚本的
Shell设置为/bin/bash,取消勾选Run script only when installing(Xcode 15+环境下该选项可能导致脚本未触发)
2. 补全依赖并验证版本匹配
- 安装
@react-native/codegen依赖:yarn add @react-native/codegen --dev - 核对
package.json版本:React 18.0.0需搭配React Native 0.69.x及以上稳定版本,建议锁定至0.72.10这类经过验证的兼容版本
3. 调整Xcode项目构建设置
- 进入项目
Build Settings,将CLANG_ENABLE_MODULES设为YES - 在
HEADER_SEARCH_PATHS中添加Codegen相关目录:$(SRCROOT)/../node_modules/react-native/ReactCommon $(SRCROOT)/../node_modules/react-native/ReactCommon/ReactFabric $(SRCROOT)/../build/generated/ios - 临时切换至Legacy Build System测试:打开
File > Project Settings,将Build System改为Legacy Build System,排查新构建系统的兼容性问题
4. 手动触发Codegen生成
- 在项目根目录执行手动生成命令,替换
YourAppTargetName为你的iOS Target名称:npx react-native codegen ios --project-root . --target-name YourAppTargetName - 确认
build/generated/ios目录下已生成ReactFabric相关的.h和.mm文件
5. 清理缓存后重新构建
- 清理Xcode缓存:按
Command + Shift + K执行Clean,再删除~/Library/Developer/Xcode/DerivedData目录 - 清理Node依赖缓存:
yarn cache clean rm -rf node_modules yarn install - 重启Xcode后执行
Clean Build Folder,再重新构建项目
内容的提问来源于stack exchange,提问作者Sumit Chakraborty
相关产品推荐
相关产品推荐

