Xcode12/13执行react-native run-ios出现PhaseScriptExecution与CompileSwiftSources错误
解决方案
前置操作(必做)
- 先清理所有缓存和旧依赖:
rm -rf node_modules package-lock.json yarn.lock ios/Pods ios/Podfile.lock yarn install # 或npm install cd ios && pod install --repo-update
修复FBReactNativeSpec脚本执行失败
这个是React Native 0.64版本与Xcode 13搭配的已知兼容问题,由环境变量冲突导致Node找不到触发:
- 打开
node_modules/react-native/scripts/find-node.sh文件,在文件首行添加以下内容:
若要避免后续重新安装依赖覆盖修改,可使用unset npm_config_prefixpatch-package工具对该修改打持久化补丁。 - 额外做Node路径软链接,解决Xcode识别不到Node的问题:
sudo ln -s $(which node) /usr/local/bin/node
修复FBSDKCoreKit编译失败
这个错误是FBSDK版本与当前Xcode、React Native版本不匹配导致:
- 若你使用的是
react-native-fbsdk或react-native-fbsdk-next库,将其版本降级到适配RN0.64的11.x及以下版本即可。 - 也可以直接在
ios/Podfile文件最顶部强制指定FBSDK版本,避免依赖自动拉取最新版:
修改完成后进入ios目录重新执行$FBSDKVersion = '11.2.1'pod install生效。
最终验证
- 打开Xcode,按下
Command + Shift + K清理构建缓存,关闭Xcode后重新执行react-native run-ios即可。
内容的提问来源于stack exchange,提问作者souradeep majumdar
相关产品推荐
相关产品推荐

