如何使用 Xcode 14 在 iOS 17 设备上运行

Nit*_*esh 53 xcode ios xcode15 ios17

Xcode 15 beta 不附带 iOS 17 的设备支持文件。我们可以通过任何其他方式在 Xcode 14 上运行 iOS 17 设备

Jon*_*an. 93

在终端中运行:

defaults write com.apple.dt.Xcode DVTEnableCoreDevice enabled
Run Code Online (Sandbox Code Playgroud)

然后重新启动 Xcode 14,iOS 17 设备将显示在 Xcode 中,如下所示,您可以像往常一样运行和调试应用程序。(您可能需要转到设备和模拟器来配对/信任设备)

我已将 Xcode 15 beta 与 Xcode 14 一起安装,我不确定是否需要这样做。

要点:事实证明,需要 Xcode 15 才能完成开发的初始设备设置。在 Xcode 15 上完成设备设置后,iOS 17 设备也可以与 Xcode 14 一起使用。

在此输入图像描述

  • 这就是解决方案!但请记住,您需要 Xcode14.3。对于 Xcode14.1,这不起作用。 (7认同)
  • 它有效,我使用的是 Xcode14.3.1 (6认同)
  • CoreDevice 是 Xcode 与 Xcode 15 中开始的设备通信的新方式。我认为 Apple 只是在 Xcode 14 中内部测试它并公开禁用它。所以这个标志就可以实现这一点。到目前为止我还没有遇到任何缺点 (4认同)
  • 我在 Monterey 12.7 上运行 XCode 14.3,并编辑了 info.plist。CoreDevice 已显示,但出现错误:“(CoreDevice) 具有未知或未报告的架构。请使用其他设备。” 谢谢蒂姆。 (3认同)
  • @YashJadhav macOS 终端 (2认同)
  • @乔纳森。这对于版本 14.3.1 (14E300c) 不再适用 (2认同)
  • 我想为 iOS 17 设备进行构建。我只能访问 Xcode 14.2。我完蛋了吗? (2认同)

sib*_*urb 8

这有点复杂,但我发现在 iOS17 设备上测试使用 Xcode 14 构建的应用程序的唯一方法 - 同时仍然能够进行调试,如下所示:

  1. 使用 Xcode 14 存档应用程序 - 选择“任何 iOS 设备”运行目标。
  2. 在管理器中,选择存档,然后选择“在查找器中显示”。
  3. 使用“显示包内容”展开存档,然后打开“产品 -> 应用程序”以查看该应用程序 - 稍后您将需要它。
  4. 关闭 Xcode 14,然后打开 Xcode 15。
  5. 在 Xcode 15 的“设备和模拟器”中,选择您的 iOS17 设备。
  6. 点击“已安装的应用程序”底部的“+”按钮,然后从步骤 #3 中删除应用程序文件。您应该在“已安装的应用程序”列表中看到应用程序更新的内部版本号。
  7. 现在,您可以在 iOS17 设备上手动运行从 Xcode 14 构建的应用程序 - 不要使用 Xcode 15 中的“Cmd+R”,否则您将替换刚刚安装的应用程序。
  8. 仍然在 Xcode 15 中,使用“调试 -> 附加到进程”附加到应用程序的进程 - 断点似乎不起作用,但您可以打印到日志。

当然,您也可以通过 TestFlight 交付应用程序,而不是执行步骤 1-6,然后使用 Xcode 15 和 iOS17 设备附加到应用程序的进程。

我在苹果开发论坛上的原始答案: https://developer.apple.com/forums/thread/730947 ?answerId=756651022#756651022


Abd*_*lah 7

当涉及到在 iOS 17(或 macOS 14、watchOS 10、tvOS 17、DriverKit 23 或 VisionOS 1)设备上部署应用时,有\xe2\x80\x99s 之一官方认可的方法:利用 Xcode 15。

\n
\n

iOS 17 需要 Xcode 15 进行部署

\n
\n

对于那些喜欢坚持使用较旧 Xcode 版本(即 Xcode 14.3.1 或更早版本)的人来说,不用担心。您仍然可以通过在终端中使用简单命令启用 CoreDevice 来使其工作:

\n
defaults write com.apple.dt.Xcode DVTEnableCoreDevice enabled\n
Run Code Online (Sandbox Code Playgroud)\n

一旦你\xe2\x80\x99执行了这个命令,快速重启Xcode将使一切顺利运行。但是,如果您在设备上仍然遇到部署错误,解决方案在于安装 Xcode 15。此安装将自动获取必要的文件,并方便地在您的系统上共享。

\n

要了解其背后的基本概念,请查看链接。

\n


AJR*_*AJR 5

截至目前,还没有适用于 iOS 17 的设备支持文件。

在 iOS 17+ 中,我们使用新的设备堆栈 (CoreDevice) 与设备进行通信。有了这个新的设备堆栈,每个平台就有一个 DDI(而不是每个操作系统版本)。这个相同的设备堆栈将在您系统上的所有 Xcode 版本之间共享,并且安装较新版本的 Xcode 将更新 CoreDevice 及其 DDI(如果您熟悉的话,就像 CoreSimulator 的更新方式一样)。

这实际上意味着您现在拥有一种受支持的方法来更新系统上的设备堆栈以支持较新的目标操作系统设备。借助 CoreDevice,您应该能够使用 Xcode 15 调试运行未来版本 iOS 的设备。这可能需要首先安装较新的 Xcode 才能安装较新的 CoreDevice 和 DDI,因此请记住这一点。

当然,这也意味着会出现暂时的问题,即旧的不受支持的路径不起作用,但好消息是,未来您将拥有一种开箱即用的支持方式来执行此操作,不需要修改你的Xcode.app。

看看这个苹果论坛,

iOS17设备支持苹果回复

建议他们仅使用 Xcode 15 beta。

好消息是,以后我们不需要更新设备支持文件,如果我们安装最新版本的 XCode,它就会默认工作:)