我已经安装了 macOS Ventura——最新版本的 macOS——我希望运行稳定版本的 Xcode(例如 13.4.1)。但是,它说“此 Mac 上安装的 Xcode 版本与 macOS Ventura 不兼容。”
有没有办法在 Ventura 上运行 Xcode?
macOS Ventura 需要 Xcode 14。但是,如果你想使用旧版本的 Xcode(例如 Xcode 13),你可以直接从 finder 或终端启动它。
要在 finder 中打开导航至:
>查找Applications Folder
>右键单击该应用程序,然后 点击Xcode App
>打开Show Package Contents
>打开Contents
> 并启动MacOS
.Xcode
或者
在终端中运行以下命令:
.open /Applications/Xcode.app/Contents/MacOS/Xcode
由于这个问题原则上与去年的问题相同,所以当我们想在 macOS Monterey 上运行 Xcode 12 时,值得检查一下 去年关于同一问题的问题。在那里,我找到了这个很好的答案,其中提出了一个脚本只需运行一次即可解决问题(允许定期打开 Xcode 13,例如通过双击)。该脚本的工作原理是将旧 Xcode 13 的构建版本更改为新 Xcode 14 的构建版本,从而欺骗操作系统。
在运行脚本之前,您需要将
OLD_XCODE
和NEW_XCODE
变量更改为正确的路径.
#!/bin/sh
set -euo pipefail
# Set the paths to your Old/New Xcodes
OLD_XCODE="/Applications/Xcode-13.4.1.app"
NEW_XCODE="/Applications/Xcode-14.1.0.app" # To get build number
# Get New Xcode build number
OLD_XCODE_BUILD=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" ${OLD_XCODE}/Contents/Info.plist)
NEW_XCODE_BUILD=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" ${NEW_XCODE}/Contents/Info.plist)
echo The Old Xcode build version is $OLD_XCODE_BUILD
echo The New Xcode build version is $NEW_XCODE_BUILD
# Change Old Xcode build version to New Xcode
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${NEW_XCODE_BUILD}" ${OLD_XCODE}/Contents/Info.plist
# Open Old Xcode (system will check build version and cache it)
open $OLD_XCODE
# Revert Old's Xcode's build version
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${OLD_XCODE_BUILD}" ${OLD_XCODE}/Contents/Info.plist
为了我未来的自己,当我过早地将我的 macOS 升级到最新版本时。
因为我使用 Xcode 只是为了我的 Flutter 应用程序的构建目的,我并不真正关心 Xcode UI,所以我需要做的就是:
Xcode-<version>.app
/Applications
目录xcode-select
命令:xcode-select -s /Applications/Xcode-<version>.app
xcode-select -p
这样我就可以拥有多个 Xcode 应用程序版本,并且可以在它们之间快速切换。