React Native iOS模拟器运行失败:BoringSSL-GRPC编译错误求助
React Native iOS模拟器编译错误(BoringSSL-GRPC)解决方案
问题重现
运行npx react-native run-ios时触发BoringSSL-GRPC编译失败,错误信息如下:
CompileC /Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/BoringSSL-GRPC.build/Objects-normal/x86_64/tls_record.o /Users/xxxx/Gradient/Grad1/ios/Pods/BoringSSL-GRPC/src/ssl/tls_record.cc normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'BoringSSL-GRPC' from project 'Pods')
已尝试删除iOS目录下Pods文件并重新执行pod install,问题未解决。环境搭建步骤:
- 从Mac App Store安装Xcode
- 通过Homebrew安装Node.js和npm:
brew install node - 安装CocoaPods:
sudo gem install cocoapods - 安装Ruby依赖:
bundle install - 安装Node.js依赖:
npm install - 安装iOS依赖:
cd ios && pod install && cd .. - 配置Xcode命令行工具:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
解决方法
1. 清理Xcode派生数据
Xcode缓存数据可能引发编译异常,操作步骤:
- 打开Xcode,点击顶部菜单栏
Xcode→Settings→Locations - 找到
Derived Data项,点击右侧箭头打开缓存文件夹 - 删除当前项目对应的缓存目录,或直接清空整个Derived Data文件夹
- 返回项目,重新执行
npx react-native run-ios
2. 适配Xcode版本
新Xcode版本可能与BoringSSL-GRPC存在兼容性问题:
- 打开App Store,将Xcode更新到最新稳定版
- 若更新后仍报错,尝试降级到与当前React Native版本匹配的Xcode(比如React Native 0.7x适配Xcode 14.x)
3. 指定BoringSSL-GRPC兼容版本
在iOS目录的Podfile中锁定兼容版本:
- 打开
ios/Podfile,添加或修改如下内容:pod 'BoringSSL-GRPC', '~> 0.0.23' # 版本号请匹配React Native官方兼容列表 - 执行
cd ios && pod deintegrate && pod install,重新安装依赖
4. 调整Xcode架构设置
模拟器架构不匹配可能导致编译失败:
- 用Xcode打开项目的
.xcworkspace文件 - 选择
Pods项目下的BoringSSL-GRPCTarget - 切换到
Build Settings标签,搜索Architectures - 设置
Architectures为Standard Architectures (arm64, x86_64),或针对模拟器单独启用x86_64架构 - 按下
Cmd+Shift+K清理项目,重新编译
5. 更新React Native及依赖
旧版React Native可能与新工具链不兼容:
- 执行
npm install react-native@latest升级到最新稳定版 - 进入ios目录执行
pod update更新所有iOS依赖 - 重新运行
npx react-native run-ios
内容的提问来源于stack exchange,提问作者Linhden
相关产品推荐
相关产品推荐

