MacOS 26.2 使用 Xcode16.4
前提
根据 Apple 官方 Release Notes,macOS 26.2 正式支持 Xcode26 及更高版本进行开发,已经不在支持xcode16.4。但是考虑到版本适配涉及以下因素:
- 技术盘点需求:需要全面评估现有项目与新版本 Xcode 的兼容性
- 人力资源投入:适配工作需要开发团队投入相当的时间和精力
- 测试影响范围:版本升级后需要进行全面的回归测试,确保功能稳定性
因此,在完成 macOS 26.2 系统升级后,我们将继续使用 Xcode 16.4 这一经过验证的低版本进行日常开发和测试工作,无需额外的测试工作即可保证开发环境的稳定性和连续性。
方案
经过调研以及尝试,下面给出可行的方案,我们只需要做以下的修改,你会发现你的xcode16.4就能绕过苹果的检查打开了(我理解这种方案适用于所有的低版本Xcode):
- 找到 Xcode 16.4 的应用程序包:在 Finder 中找到 Xcode.app,右键点击选择”显示包内容”
- 修改 Info.plist 文件:进入 Contents 文件夹,找到 Info.plist 文件并使用文本编辑器打开
- 修改最低系统版本要求:找到 CFBundleVersion 键值,Xcode26.2 的值
- 重新启动 Xcode:完成上述步骤后,重新启动 Xcode 16.4 即可正常使用
网上已有shell脚本方案,贴出来方便大家使用:
# Source - https://stackoverflow.com/a
# Posted by Uladzimir, modified by community. See post 'Timeline' for change history
# Retrieved 2026-01-19, License - CC BY-SA 4.0
#!/bin/sh
set -euo pipefail
# Set the paths to your Old/New Xcodes
OLD_XCODE="/Applications/Xcode-16.4.0.app" # or /Applications/Xcode_13.4.1.app on Ventura
NEW_XCODE="/Applications/Xcode26.2.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
注意⚠️:修改之后xcode16.4的文件访问权限会出现问题,导致某些文件无法进行写入,解决办法为:
- 打开”系统设置” > “隐私与安全性” > “完全磁盘访问权限”
- 手动添加 Xcode 应用
总结
介绍了在 macOS 26.2 系统上继续使用 Xcode 16.4 的解决方案。虽然 Apple 官方不再支持低版本 Xcode,但考虑到版本适配需要大量的技术盘点、人力投入和测试工作,我们可以通过修改 Xcode 的 Info.plist 文件来绕过系统检查。
核心方法是将旧版 Xcode 的 CFBundleVersion 临时修改为新版 Xcode 的构建号,打开 Xcode 让系统缓存该版本信息,然后再恢复原始构建号。这样就可以正常使用 Xcode 16.4 进行开发工作。
需要注意的是,网上好多帖子说修改 LSMinimumSystemVersion 等其他配置项并不能解决问题。
虽然也可以直接运行 Xcode.app/Contents/MacOS/Xcode 来打开应用,但每次都需要通过这种方式启动非常不便,因此推荐使用上述脚本方案来永久解决兼容性问题。
PREVIOUS合理使用API很重要(记录一个问题排查过程)