升级到 Xcode 12.5 后的 xcodebuild 问题

Posted

技术标签:

【中文标题】升级到 Xcode 12.5 后的 xcodebuild 问题【英文标题】:xcodebuild issue after upgrading to Xcode 12.5 【发布时间】:2021-05-01 18:00:22 【问题描述】:

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

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。此次升级前一切正常。

【问题讨论】:

检查您的项目设置,尤其是构建变量,如果您看到任何对 macOS 版本和部署的引用。 我也有这个问题,在命令行上使用 xcodbuild,没有任何参数,它出现“可执行文件至少需要 macOS 11.0,但正在 macOS 10.16 上运行,因此正在退出” 这是当前的解决方案:github.com/facebook/react-native/issues/… 【参考方案1】:

问题是我在.bashrc 中设置了export SYSTEM_VERSION_COMPAT=1。这导致命令 sw_vers 返回 ProductVersion 10.16,而不管安装的 macOS 的实际版本如何。大概 Xcode 版本 12.5 在运行二进制文件之前开始对 os 版本进行一些检查。

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

【讨论】:

以上是关于升级到 Xcode 12.5 后的 xcodebuild 问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter 中使用 Xcode 12.5 解决 Stripe 支付问题?

MacOS系统升级到Big Sur后CMake报xcode-select错误的解决办法

MacOS系统升级到Big Sur后CMake报xcode-select错误的解决办法

从 xcode3.2 升级到 xcode4.3.2 后的 Builderror

升级到 xcode 7 后的自动布局问题

升级到 Xcode 10 后的问题:找不到构建输入文件