升级到 Xcode 12.5 后的 xcodebuild 问题

xcodebuild issue after upgrading to Xcode 12.5

升级到 Xcode 12.5(从 App Store 升级)后,某些 CLI 工具如 xcodebuildcodesign_allocate 立即失败,提示:

Executable requires at least macOS 11.0, but is being run on macOS 10.16, and so is exiting.

即使这些都失败了,xcode-select 仍然有效,并且位置已设置 - 运行 xcode-select -p 输出 /Applications/Xcode.app/Contents/Developer。一切似乎都已安装,xcode-select --install 表示。我已经尝试安装 CLI from source,将 bin 目录放在 PATH 中似乎工作正常,但这不包括 xcodebuild。但是,如果我不手动安装这些 cli 工具,我仍然会收到安装 cli 工具的提示,并且在“安装”之后,我会继续收到提示。

Xcode IDE 中的所有内容都工作正常,我已多次尝试重新安装 Xcode。我使用的是最新版本的 Big Sur(版本 11.3),而这台计算机的 macOS 版本从未低于该版本。升级前一切正常。

问题是我在 .bashrc 中设置了 export SYSTEM_VERSION_COMPAT=1。这导致命令 sw_vers 到 return ProductVersion 10.16,无论安装的 macOS 的实际版本如何。据推测,Xcode 版本 12.5 开始对 运行 二进制文件之前的 os 版本进行一些检查。

我的解决方案是确保在 .bashrc 中使用 export SYSTEM_VERSION_COMPAT=0 将环境变量设置为 false。只是不设置 SYSTEM_VERSION_COMPAT 也可以。为确保一切正常,请确保 运行 sw_vers 显示您期望的 ProductVersion,应该 >11。