使用低版本 Xcode 在新版本 iOS 上开启调试

Oct 20, 2022 • 预计阅读时间 1 分钟

一般来说,新版本 Xcode 可以在最新版本的 iOS 上调试 App。

如果旧版本 Xcode 需要在新版本的 iOS 上调试,则需要把新版本 Xcode 中的设备支持文件拷贝过来。

以下方法同样支持 WatchOS 和 tvOS。

假设旧版本 Xcode 13.4.1 安装在:/Applications/Xcode.app

新版本 Xcode 14.1 下载后解压在:~/Downloads/Xcode.app

先查看一下旧版本 Xcode 所支持的设备版本列表:

$ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 
             
10.0	11.0	11.4	12.3	13.2	13.6	14.2	15.0	9.0
10.1	11.1	12.0	12.4	13.3	13.7	14.3	15.2	9.1
10.2	11.2	12.1	13.0	13.4	14.0	14.4	15.4	9.2
10.3	11.3	12.2	13.1	13.5	14.1	14.5	15.5	9.3

查看新版本 Xcode 的设备版本列表:

$ls ~/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

11.0	11.4	12.3	13.2	13.6	14.2	15.0	15.6
11.1	12.0	12.4	13.3	13.7	14.3	15.2	15.7
11.2	12.1	13.0	13.4	14.0	14.4	15.4	16.0
11.3	12.2	13.1	13.5	14.1	14.5	15.5	16.1

新版本比旧版本多了 15.6, 15.7, 16.0, 16.1

把这几个文件夹复制到旧版本的 Xcode 相应的路径下就可以了。

如果需要调试苹果手表,就把 WatchOS.platform 下新增的版本目录复制过去。

如果是 iOS 16,还需要先在 iOS 的设置中打开开发者模式,旧版本 Xcode 才可以顺利调试。

开启路径是:设置:隐私与安全性:安全性:开发者模式:打开开关,重启系统后手机就打开了开发模式。

NOTE:需要打开 Xcode 14 并且连接上手机,才能出现开发者模式的入口。

Xcode
版权声明:如果转发请带上本文链接和注明来源。

lvv.me

iOS/macOS Developer

CMake 设置忽略某些搜索路径

Swift 在调用 super.init 之前必须初始化变量