如何在新的 macOS 版本上运行旧的 Xcode 版本?

sta*_*ich 57 macos xcode macos-monterey macos-ventura

我在较新的 MacOS 版本上运行旧版本的 Xcode 时遇到问题。
例如,MacOS Ventura 上的 Xcode 13。

sta*_*ich 97

解决方案非常简单。例如,如果您在应用程序文件夹中下载了旧版本,例如12.5.1版本,您只需要:

  • 打开终端
  • 在 Finder 中打开“应用程序”文件夹
  • 将 Xcode 应用程序拖到终端中,以便它获取其路径
  • 然后在它旁边添加:/Contents/MacOS/Xcode,所以完整的命令将类似于/Applications/Xcode-12.5.1.app/Contents/MacOS/Xcode
  • 按 Enter 运行命令

现在您应该能够运行它了。您会注意到,当您打开此版本的 Xcode 时,终端也会打开,但不要关闭终端,因为它也会关闭 Xcode。

在这里您可以找到较旧的 Xcode 版本。

  • 右键单击 XCode 应用程序并显示包内容,然后转到 ContentsMacOS/Xcode 双击打开 (5认同)
  • 为什么不能直接运行该应用程序? (4认同)
  • 我将其添加为 shell 脚本快捷方式。效果很好!让你想知道为什么苹果拒绝让它在蒙特雷的领导下运行...... (4认同)
  • Xcode 12.0.1 也可以使用相同的方式。 (4认同)
  • @Willeke:因为 macOS Monterey 需要 Xcode 13 及更高版本 (2认同)

Ula*_*mir 67

更改旧/新 Xcode 的路径并运行脚本。该脚本会将旧 Xcode 的构建版本更改为新版本,运行并恢复。脚本需要运行一次,之后双击即可打开Xcode

适用于 Xcode 12.5.1 的 macOS Monterey、Xcode 13 的 Ventura、Xcode 14 的 Sonoma

#!/bin/sh

set -euo pipefail

# Set the paths to your Old/New Xcodes
OLD_XCODE="/Applications/Xcode_14.3.1.app" # or /Applications/Xcode_13.4.1.app on Ventura
NEW_XCODE="/Applications/Xcode.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 || true

# 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)

  • 我认为这个答案应该标记为“已接受”。对于“日常”使用来说确实是个好方法。 (5认同)
  • 同意,这应该是公认的答案。 (4认同)
  • 如果有人感兴趣的话,仍在研究文图拉 (2认同)

小智 6

这是获取 Xcode 当前构建版本的方法。

/usr/libexec/PlistBuddy -c "Print CFBundleVersion" /Applications/Xcode_12.4.app/Contents/Info.plist
Run Code Online (Sandbox Code Playgroud)