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

Xcode编译报错:arm64-apple-ios11.0-simulator不支持'-G'选项求助

解决编译报错:unsupported option '-G' for target 'arm64-apple-ios11.0-simulator'

问题原因

报错中的-G是clang旧版本的调试符号生成选项,Xcode 16(对应clang 17+)已废弃该参数。你的项目问题大概率来自两个方面:一是第三方Pod的Build Settings仍在使用该过时选项;二是老版本的React Native兼容脚本(如__apply_Xcode_12_5_M1_post_install_workaround)引入了无效配置。

解决方案

1. 移除过时的M1兼容脚本

打开Podfile,删除post_install块中的这一行:

__apply_Xcode_12_5_M1_post_install_workaround(installer)

该脚本是针对Xcode 12.5的M1临时补丁,Xcode 16已完全不需要,反而可能引入冲突性编译参数。

2. 全局清理-G编译选项

在post_install块中添加代码,遍历所有Pod Target,移除OTHER_CFLAGS和OTHER_LDFLAGS中的-G选项:

post_install do |installer|
  react_native_post_install(
    installer,
    :mac_catalyst_enabled => false
  )
  # 新增:移除所有target的-G编译选项
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      # 清理OTHER_CFLAGS
      if config.build_settings['OTHER_CFLAGS']
        cflags = config.build_settings['OTHER_CFLAGS'].gsub(/-G\s?/, '')
        config.build_settings['OTHER_CFLAGS'] = cflags.strip
      end
      # 清理OTHER_LDFLAGS
      if config.build_settings['OTHER_LDFLAGS']
        ldflags = config.build_settings['OTHER_LDFLAGS'].gsub(/-G\s?/, '')
        config.build_settings['OTHER_LDFLAGS'] = ldflags.strip
      end
      # 保留原有Firebase相关配置
      if ['FirebaseCoreInternal', 'GoogleUtilities'].include?(target.name)
        config.build_settings['DEFINES_MODULE'] = 'YES'
      end
    end
  end
end

3. 明确指定iOS最低版本

将Podfile开头的版本配置改为:

platform :ios, '16.0'

避免自动降级到iOS 11.0编译目标,减少版本兼容冲突。

4. 重新执行Pod安装流程

执行以下命令彻底清理并重装依赖:

pod deintegrate
rm -rf Podfile.lock Pods
pod install

验证

完成步骤后,打开Xcode执行清理(Cmd+Shift+K),再尝试编译项目。

内容的提问来源于stack exchange,提问作者Jason Byron Beedle

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 04:27:20