You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Xcode 16后npm run ios无法运行,报BoringSSL-GRPC-framework错误

解决Xcode 16中BoringSSL-GRPC-framework的'-G'选项不兼容问题

原因分析

Xcode 16升级了clang编译器,对arm64 iOS模拟器目标禁用了-G编译选项(该选项用于控制全局变量存储方式,旧版本clang允许使用,新版本已移除支持),而BoringSSL-GRPC的Pod配置中仍保留了这个过时选项,导致编译失败。

可行解决方案

方案1:通过Podfile钩子自动清理无效选项

在项目的Podfile末尾添加以下代码,安装Pod时自动移除BoringSSL-GRPC-framework中的-G选项:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    next unless target.name == 'BoringSSL-GRPC-framework'
    target.build_configurations.each do |config|
      # 清理C和C++编译选项中的'-G'相关配置
      config.build_settings['OTHER_CFLAGS'] = config.build_settings['OTHER_CFLAGS'].reject { |flag| flag.start_with?('-G') }
      config.build_settings['OTHER_CPLUSPLUSFLAGS'] = config.build_settings['OTHER_CPLUSPLUSFLAGS'].reject { |flag| flag.start_with?('-G') }
    end
  end
end

添加后执行pod install,再重新构建项目。

方案2:升级GRPC依赖版本

检查Podfile中GRPC相关依赖的版本,尝试升级到兼容Xcode 16的最新稳定版。例如将pod 'gRPC'或关联依赖指定为最新版本,执行pod update gRPC,新版本的GRPC通常已移除过时的-G编译选项。

方案3:手动修改Pod构建设置(临时方案,Pod更新后会覆盖)

  1. 打开项目目录下的Pods/Pods.xcodeproj
  2. 找到BoringSSL-GRPC-framework目标
  3. 进入Build Settings,搜索Other C Flags和Other C++ Flags
  4. 删除所有包含-G的选项
  5. 重新编译项目

验证步骤

  • 执行pod deintegrate清理现有Pod配置
  • 执行pod install重新安装依赖
  • 用Cmd+Shift+K清理Xcode构建缓存
  • 重新运行项目到模拟器

内容的提问来源于stack exchange,提问作者Aman Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 04:45:59