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

升级macOS Sequoia15与Xcode16后Flutter iOS编译报错:unsupported option -G

解决Flutter在Xcode 16 + macOS Sequoia下iOS模拟器编译报错clang: error: unsupported option '-G'

问题根源

-G是旧版clang用于指定调试信息格式的编译参数,Xcode 16升级clang后,这个参数在x86_64架构的iOS模拟器目标下已被废弃。你的项目里肯定是某个第三方Pod或者Flutter插件的build配置硬编码了这个参数,导致编译失败。

解决方法

1. 通过Podfile移除无效参数

打开iOS目录下的Podfile,在末尾添加这段post_install钩子,遍历所有依赖的build配置,删除-G参数:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      # 清理OTHER_CFLAGS中的-G参数
      if config.build_settings['OTHER_CFLAGS']
        config.build_settings['OTHER_CFLAGS'] = config.build_settings['OTHER_CFLAGS'].reject { |flag| flag == '-G' }
      end
      # 清理OTHER_LDFLAGS中的-G参数
      if config.build_settings['OTHER_LDFLAGS']
        config.build_settings['OTHER_LDFLAGS'] = config.build_settings['OTHER_LDFLAGS'].reject { |flag| flag == '-G' }
      end
    end
  end
end

保存后在iOS目录下执行pod install,重新生成依赖配置。

2. 升级Flutter到适配版本

Xcode 16和macOS Sequoia对Flutter版本有适配要求,确保使用最新稳定版:

flutter channel stable
flutter upgrade
flutter clean
flutter pub get

3. 定位特定问题依赖

如果上述方法无效,直接搜索哪个Pod引入了-G参数:

grep -r "-G" ios/Pods/

找到对应Pod后,优先升级到修复该问题的新版本;若没有新版本,可在post_install钩子中单独针对该Pod处理参数。

额外提醒

  • 之前设置的IPHONEOS_DEPLOYMENT_TARGET要和Podfile开头的platform :ios, '15.0'保持一致,避免版本冲突。
  • 操作完成后,清理Xcode缓存(按下Cmd+Shift+K)再重新编译项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 04:56:06