如何在 macOS Ventura 中使用 Xcode 13?

Has*_*san 36 macos xcode macos-ventura

我已经安装了 macOS Ventura \xe2\x80\x93 最新版本的 macOS \xe2\x80\x93,并且我希望运行稳定版本的 Xcode(例如 13.4.1)。然而,它说“这台 Mac 上安装的 Xcode 版本与 macOS Ventura 不兼容”。

\n

有没有办法在 Ventura 上运行 Xcode?

\n

错误弹出窗口的屏幕截图

\n

Has*_*san 73

macOS Ventura 需要 Xcode 14。但是,如果您想使用旧版本的 Xcode(例如 Xcode 13),您可以直接从查找器或终端启动它。

要在 Finder 中打开,请导航至:

Applications Folder> 查找Xcode App> 右键单击​​该应用程序,然后单击Show Package Contents> 打开Contents> 打开 MacOS> 并启动Xcode

或者

在终端中运行以下命令:

open /Applications/Xcode.app/Contents/MacOS/Xcode

更新:

可以按照相同的过程在 macOS Sonoma 中使用 Xcode 14。

  • 如果使用命令行,您会收到错误:“由于意外原因,无法打开应用程序,error=Error Domain=NSOSStatusErrorDomain Code=-10664“kLSInknownApplicationVersionErr:应用程序与当前操作系统不兼容”UserInfo={_LSLine=4087,_LSFunction =_LSOpenStuffCallLocal}` 只需终止命令并重试,它应该可以工作! (4认同)
  • 此外,您可能需要使用“xcode-select -s <your_xcode13.x_path>”设置命令行工具,因为 Xcode > 首选项 > 位置不会在 UI 中显示降级选项。 (4认同)

fre*_*dpi 27

单次运行脚本来解决问题

由于这个问题原则上与去年的问题相同,因此当我们想在 macOS Monterey 上运行 Xcode 12 时,值得检查去年关于同一问题的问题。在那里,我找到了一个很好的答案,其中提出了一个脚本,只需运行一次即可解决问题(允许定期打开 Xcode 13,例如通过双击)。该脚本的工作原理是将旧 Xcode 13 的构建版本更改为新 Xcode 14 的构建版本,从而欺骗操作系统。

在运行脚本之前,您需要将和变量更改为正确的路径OLD_XCODENEW_XCODE

#!/bin/sh

set -euo pipefail

# Set the absolute 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
Run Code Online (Sandbox Code Playgroud)


mat*_*tox 8

对于未来的自己,当我过早地将我的 macOS 升级到最新版本时。

由于我使用 Xcode 只是为了构建 Flutter 应用程序,并且我并不真正关心 Xcode UI,所以我需要做的就是:

  1. 从https://xcodereleases.com下载所需的 xcode 版本应用程序
  2. 解压该应用并将其重命名为Xcode-<version>.app
  3. 将其移至/Applications目录
  4. 运行xcode-select命令:xcode-select -s /Applications/Xcode-<version>.app
  5. 确认选择了正确的 Xcode 版本xcode-select -p
  6. 就是这样。

这样我就可以拥有多个 Xcode 应用程序版本,并且可以在它们之间快速切换。