怎么样让Xcode14.3跑iOS17 beta的设备

背景

iOS17beta也发布了很长时间了,为了工程的稳定性,需要提前测试工程在高版本系统的是否会出现问题。其中一项就是需要在低版本Xcode中去本地跑高版本iOS设备,来定位高版本出现的问题。

问题

以往低版本Xcode要跑高版本iOS设备,只需要将/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport中对应的iOS版本添加进该目录就行,但是但是更新了xcode15之后发现,最新Xcode的DeviceSupport目录下并没有对应的ios17镜像文件。

Xcode15 beta的DeviceSupport目录:

官方的解释是:

With iOS 17+, we are using a new device stack (CoreDevice) to communicate with devices. With this new device stack, there is one DDI per platform (as opposed to per OS release). This same device stack will be shared across all versions of Xcode on your system, and installing a newer version of Xcode will update CoreDevice and its DDIs (just like how CoreSimulator is updated if you are familiar with that).

This effectively means that you now have a supported way of updating the device stack on your system to support newer target OS devices. With CoreDevice, you should be able to debug devices running future versions of iOS using Xcode 15. This may require first installing a newer Xcode in order to install newer CoreDevice and DDIs, so keep that in mind.

Of course, this also means there is a temporary hiccup in which the old unsupported path doesn't work, but the good news is that future-you will have a supported way of doing this which works out-of-the-box, no need to modify your Xcode.app.

也就是xcode15之后将会以CoreDevice的方式去对iOS设备进行兼容。 所有的Xcode设备共享一份CoreDevice和DDIs,这样在xcode15和之后版本中,只要装了最新版Xcode,所有版本的Xcode都能调试CoreDevice中兼容的iOS设备,也就是低版本Xcode也能直接兼容高版本ios设备,而无需去更改xcode中的目录。

解决问题

经测试,xcode14其实也兼容了CoreDevice的方案,只是默认是关闭的。

  1. 安装最新版macOS beta

  2. 下载xcode15 beta并安装(为了获取最新的CoreDevice)

  3. 执行命令(这一步的作用大概就是开启xcode14 的CoreDevice支持,使得xcode14能使用最新的CoreDevice。)

    shell 复制代码
    defaults write com.apple.dt.Xcode DVTEnableCoreDevice enabled

跑起来

操作系统是最新版beta,那xcode14就不能再用了 使用方式,应用程序->xcode14->显示包内容->contents->MacOS->Xcode 进程运行起来,选择需要执行的工程就OK了。 选择ios7的设备时,会有个CoreDevice的标识:

这样就能跑起来啦~

参考文档: developer.apple.com/forums/thre... stackoverflow.com/questions/7...

相关推荐
Cutecat_5 小时前
视频字幕处理工具横向:提取模式 vs 编辑模式,该如何选择
android·前端·ios·语音识别
大熊猫侯佩10 小时前
WWDC26 SwiftUI 进化之路:砸碎黑盒,彻底迎来开发自由!
ios·swiftui·swift
游戏开发爱好者811 小时前
iPhone真机调试有哪些方法?一次定位推送权限问题时整理出来的几种方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
大熊猫侯佩17 小时前
WWDC26 最被忽视的王炸:告别“伪并发”陷阱,Swift 6.4 的 async defer
ios·swift·编程语言
h-189-53-67120719 小时前
苹果开发者账号防关联3.2f隔离环境传包提审iOS开发上架的高效隔离方案:iOSUploader工具实用解析
ios·ios上架·ios审核·苹果审核·苹果开发者账号·苹果开发者封号
Legendary_00821 小时前
LDR6020P:iPad 一体式皮套键盘 OTG 应用的核心引擎
ios·计算机外设·ipad
Digitally1 天前
如何高效地将文件从电脑传输到 iPad:6 种简单方法
ios·电脑·ipad
萤萤七悬2 天前
【Python笔记】AI帮封装Airtest IOS-WDA touch操作时的factor坐标转换
笔记·python·ios
库奇噜啦呼2 天前
【iOS】源码学习-锁的原理
学习·ios·cocoa