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

Xcode 16 Beta下Swift项目BoringSSL-GRPC '-G'选项不支持报错求助

问题描述

升级至Xcode 16 Beta后,构建Swift应用时出现如下错误:

BoringSSL-GRPC Unsupported option '-G' for target 'arm64-apple-ios10.0'

已尝试以下操作但均无效果:

  • 执行pod deintegrate、pod install、pod update
  • 修改项目最低部署版本
  • 移除-GCC_WARN_INHIBIT_ALL_WARNINGS编译标志

尝试过的Podfile后处理代码片段(未生效):

if target.name == 'BoringSSL-GRPC'
      target.source_build_phase.files.each do |file|
        if file.settings && file.settings['COMPILER_FLAGS']
          flags = file.settings['COMPILER_FLAGS'].split
          flags.reject! { |flag| flag == '-GCC_WARN_INHIBIT_ALL_WARNINGS' }
          file.settings['COMPILER_FLAGS'] = flags.join(' ')
        end
      end
    end
post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == 'BoringSSL-GRPC'
      target.source_build_phase.files.each do |file|
        if file.settings && file.settings['COMPILER_FLAGS']
          flags = file.settings['COMPILER_FLAGS'].split
          flags.reject! { |flag| flag == '-GCC_WARN_INHIBIT_ALL_WARNINGS' }
          file.settings['COMPILER_FLAGS'] = flags.join(' ')
        end
      end
    end
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
    end
  end
end
可行解决方法

错误核心是BoringSSL-GRPC目标中存在Xcode 16 Beta不再支持的-G编译选项,需要针对性移除该标志,同时确保部署版本适配。修改Podfile的post_install钩子如下:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    # 处理BoringSSL-GRPC的编译标志
    if target.name == 'BoringSSL-GRPC'
      # 移除目标级别的COMPILER_FLAGS中的-G选项
      target.build_configurations.each do |config|
        if config.build_settings['COMPILER_FLAGS']
          flags = config.build_settings['COMPILER_FLAGS'].split
          flags.reject! { |flag| flag == '-G' }
          config.build_settings['COMPILER_FLAGS'] = flags.join(' ')
        end
      end
      # 移除每个源文件的COMPILER_FLAGS中的-G选项
      target.source_build_phase.files.each do |file|
        if file.settings && file.settings['COMPILER_FLAGS']
          flags = file.settings['COMPILER_FLAGS'].split
          flags.reject! { |flag| flag == '-G' }
          file.settings['COMPILER_FLAGS'] = flags.join(' ')
        end
      end
    end
    # 统一设置最低部署版本(按需调整,建议适配Xcode 16支持的版本)
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
    end
  end
end

执行步骤:

  1. 将上述代码替换到Podfile中
  2. 执行pod deintegrate清理现有依赖
  3. 执行pod install重新安装依赖
  4. 清理项目构建缓存(Cmd+Shift+K)后重新构建

如果仍有问题,可尝试:

  • 确保grpc-swift或相关依赖更新到适配Xcode 16的版本
  • 检查项目中是否有手动添加的-G编译标志,一并移除

内容的提问来源于stack exchange,提问作者Hiranmayee Mishra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 14:20:06