iPhone iOS 更新 14.7 后的 Xcode 12.4“不支持的操作系统版本”

Bak*_*ker 62 xcode ios

将 iPhone iOS 版本更新到 14.7+ 后,Xcode 12.4 无法再构建到该 iPhone 设备上。

在Xcode中选择构建目的地时(产品>目的地> [设备]或从下面显示的UI下拉列表)新更新的iPhone将在其旁边进行(unsupported OS version)

xcode 构建目标下拉菜单

iPhone 列出了“(不支持的操作系统版本)”。

不支持的操作系统版本

无法升级到 Big Sur / Xcode 12.5

我被困在 Mac OS Catalina(旧硬件)上,无法升级到需要 Big Sur 的 Xcode 12.5

我们如何向 Xcode 添加/更新设备支持以构建到不受支持的 iPhone 版本(iOS 14.7+)?

Bak*_*ker 100

向 Xcode 添加/更新不支持的 iOS 版本

Apple 没有计划更新 Xcode 12.4 以支持 iOS 14.6、14.7 等。

但是我们可以复制 Xcode 版本 14.5 DeviceSupport 文件(如果需要下载)并将它们粘贴(或符号链接)到名为 14.6、14.7 等的目录中。(感谢@LPG 对符号链接的注释。)

Xcode 设备支持目录

Xcode DeviceSupport 目录位于: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

(在 Finder 中,右键单击 /Applications/Xcode 并选择Show Package Contents

Xcode DeviceSupport 目录 目录列表将包括 14.6、14.7(甚至可能不包括 14.5)。

(如果 14.5 目录已经存在,只需根据需要复制/粘贴或符号链接该目录以将其复制为 14.6 或 14.7 等,否则...)

获取设备支持文件

获取设备支持文件的最快方法来自这个(非官方)Github 项目:

https://github.com/iGhibli/iOS-DeviceSupport

特别是,我们想要 12.5 发布候选 zip 文件(14.6、14.7 尚不存在):

https://github.com/iGhibli/iOS-DeviceSupport/blob/master/DeviceSupport/14.5(FromXcode_12.5_Release_Candidate_xip).zip

在 Github 的 12.5 Release Candidate 中,下载这个 .zip

下载 12.5 DeviceSupport 发布候选文件

下载文件后,双击 .zip 文件将它们解压到 14.5 目录中:

14.5 设备支持文件

将 DeviceSupport 14.5 / 14.6 / 14.7 添加到 Xcode

将 14.5 目录复制并粘贴到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport.

复制 14.5 目录并将其粘贴到同一目录 (into DeviceSupport) 中,然后根据需要将目录重命名为 14.6、14.7 等。

如果 Xcode 已打开,Clean Build Folder(在Product菜单标题下)。我不确定这是否绝对必要。(下次连接手机时,Xcode 还会更新和处理设备本身的缓存文件,这需要几分钟时间。)

关闭 Xcode(如果打开)。

通过 USB 连接 iPhone。如果您尚未更新 Mac OS 以支持 14.6/14.7 上的手机,您的 Mac 可能会要求您更新 Mac OS 软件以连接到您的 iOS 14.6/14.7 设备。我接受了这个更新请求。花了几分钟才完成。(我相信这与 Xcode 无关,而与 iTunes 和其他 Mac 服务等无关。)

在此之后我需要重新启动我的 Mac。不确定是否每个人都需要这样做。

打开 Xcode。打开 Runner 旁边的构建目标下拉菜单,您的 iPhone 14.6 / 14.7 设备应该(希望)旁边不再有“(不受支持的操作系统版本)”注释。

支持 Xcode 构建目标 14.6

现在,作为 Xcode 12.4 下受支持的 14.6 / 14.7 手机设备,您应该能够将应用程序的调试、配置文件和发布版本构建到您的物理 iPhone。

其他事宜

“在为开发准备设备时遇到错误。请检查设备和模拟器窗口”

  • 可能与 /sf/ask/4376874071/ 等重复。但我真的无法接受做这样不受支持的事情的想法,尤其是通过下载不安全的文件。 (3认同)
  • 仍然适用于 iOS 14.7。使用符号链接就足够了,不需要实际的副本。 (3认同)

Sla*_*nko 5

这可能是一个临时解决方案,但这对我有用:

  1. 进入内容/Developer/platform/iPhoneOS.platform/DeviceSupport
  2. 复制您之前的 iOS 14.5 设备支持文件或旧版本
  3. 粘贴到同一文件夹中并将 iOS 编号更改为 14.6
  4. 重新启动 Xcode,它应该可以让你在手机上运行你的代码

仅供参考,这之前也适用于不同的 iOS,因此如果有人遇到困难或无法在手机上运行 Xcode,它可能会对更高版本有所帮助。

  • 这对于我来说一直适用于小版本更新,例如。`14.5->14.6`,或`14.6->14.7`。谢谢! (2认同)

sul*_*rza 5

@Baker的解决方案对我有用

就我而言,我已经xcode 12.3并且想在我的 iPhone 上运行应用程序ios 14.6

  1. 关闭xcode

  2. 下载14.5(FromXcode_12.5_Release_Candidate_xip).zip

  3. 解压14.5(FromXcode_12.5_Release_Candidate_xip).zip它会给你文件夹14.5

  4. 将文件夹复制14.5/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

  5. 然后将文件夹复制14.5/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport并重命名为14.6

  6. 在第 4 步之后你应该有类似../iPhoneOS.platform/DeviceSupport/14.5../iPhoneOS.platform/DeviceSupport/14.6

  7. 启动xcode运行你的应用程序

如果 iPhone 陷入繁忙状态,您可能需要重新启动 iPhone :当 iPhone 完成时,准备 iPhone Xcode 的调试器支持将继续。