说到在iOS 17(或macOS 14、watchOS 10、tvOS 17、DriverKit 23或visionOS 1)设备上部署您的应用程序,有一种官方认可的方法:使用Xcode 15。
iOS 17需要使用Xcode 15进行部署
对于那些喜欢使用旧版本Xcode(例如Xcode 14.3.1或更早版本)的人,不要担心。您仍然可以通过在终端中启用CoreDevice来使其正常工作,只需使用简单的命令:
defaults write com.apple.dt.Xcode DVTEnableCoreDevice enabled
截至目前,iOS 17还没有可用的设备支持文件。
从iOS 17+开始,我们使用了一个新的设备堆栈(CoreDevice)来与设备进行通信。通过这个新的设备堆栈,每个平台只有一个DDI(与每个操作系统版本相对应)。这个相同的设备堆栈将在您系统上的所有Xcode版本中共享,并且安装更新版本的Xcode将会更新CoreDevice及其DDIs(就像您熟悉的CoreSimulator一样)。
这实际上意味着您现在有一种支持的方式来更新系统上的设备堆栈以支持更高版本的目标操作系统设备。使用CoreDevice,您应该能够使用Xcode 15调试运行未来版本iOS的设备。这可能需要先安装较新的Xcode以安装更新的CoreDevice和DDIs,所以请记住这一点。
当然,这也意味着旧的不受支持的路径暂时无法使用,但好消息是未来您将拥有一种支持的方法来完成此操作,而无需修改您的Xcode.app。
请查看这个苹果论坛:
建议仅使用Xcode 15 beta。
好消息是,今后我们无需再更新设备支持文件,如果安装最新版本的XCode,它将默认工作:)
这个解决方案已经在以下环境中经过测试并确认可行:
- macOS Ventura 13.1 (22C65)
- Xcode 14.3.1(我在所有项目中都使用这个Xcode版本)
- Xcode 15.0.1(用于在我的设备上安装iOS 17.0)
如需更详细的信息,您还可以参考我的Medium文章,关于在旧版macOS上支持Xcode 14.x中的iOS 17。
希望这能帮到您!
我花了整个星期研究了如何安装新的beta模拟器。
你应该勾选所有需要的模拟器复选框[像这样][1],然后下载到 ~/Downloads(当前用户的默认下载目录)
↑这部分不必要。不用管它。只需下载 Xcode 15 Beta xip 文件。
在解压缩 Xcode_15_Beta.xip
后,在终端中执行以下命令。(不要使用sudo)
/path/to/Xcode-beta.app/Contents/Developer/usr/bin/xcodebuild -downloadAllPlatforms
此命令可能需要您允许 Xcode 15 Beta 对 ~/Downloads
的文件/文件夹访问权限。请允许。
在安装这些模拟器后,我可以使用 iOS 17.0 Beta,并选择 Xcode 14.2 作为 $DEVELOPER_DIR
。