React Native iOS新项目构建失败求助(Xcode12.4+iOS14.4+Intel Catalina)
解决React Native iOS构建失败(FBReactNativeSpec脚本执行错误)
针对你在Intel芯片macOS Catalina、Xcode12.4环境下构建RN项目时出现的PhaseScriptExecution [CP-User] Generate Specs错误,以下是几个可行的解决步骤:
1. 移除M1芯片专属的Post Install脚本
你的Podfile中包含了__apply_Xcode_12_5_M1_post_install_workaround(installer),这个脚本是为M1芯片设备设计的,Intel芯片环境下执行会导致冲突。修改Podfile的post_install部分:
post_install do |installer| react_native_post_install(installer) # 移除下面这行M1专属补丁 # __apply_Xcode_12_5_M1_post_install_workaround(installer) end
2. 清理缓存并重新安装依赖
执行以下命令彻底清理缓存和Pods:
# 删除Xcode衍生数据 rm -rf ~/Library/Developer/Xcode/DerivedData # 删除项目中的Pods文件夹和锁文件 cd ios && rm -rf Pods Podfile.lock # 重新安装Pods pod install
3. 手动执行Spec生成脚本排查具体错误
构建失败的核心是Spec生成脚本执行出错,可以手动运行脚本查看详细错误信息:
cd node_modules/react-native/scripts ./generate-specs.sh
如果脚本执行有具体报错(比如Node版本不兼容、依赖缺失),根据提示修复后再重新构建。
4. 确认Node.js版本兼容性
确保你的Node.js版本符合当前React Native版本的要求(比如RN 0.64+需要Node.js 14.x及以上),可以通过node -v查看版本,若版本不匹配,使用nvm切换到对应版本:
# 切换到RN要求的Node版本,比如14.21.3 nvm install 14.21.3 nvm use 14.21.3
5. 验证Xcode命令行工具路径
确保Xcode命令行工具指向当前使用的Xcode12.4:
xcode-select -p
如果输出不是/Applications/Xcode.app/Contents/Developer,执行以下命令切换:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
完成以上步骤后,重新在Xcode中构建项目,应该可以解决FBReactNativeSpec相关的构建错误。
内容的提问来源于stack exchange,提问作者Nicholas Lindartono
相关产品推荐
相关产品推荐

