怎么样让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...

相关推荐
linweidong4 小时前
实战救火型 从 500MB 降到 50MB:高频业务场景下的 iOS 内存急救与避坑指南
macos·ios·objective-c·cocoa·ios面试·nstimer·ios面经
山里看瓜5 小时前
解决 iOS 上 Swiper 滑动图片闪烁问题:原因分析与最有效的修复方式
前端·css·ios
网络研究院5 小时前
苹果修复了iOS系统中两个被定向攻击利用的零日漏洞
macos·ios·cocoa
如此风景7 小时前
IOS SwiftUI 全组件详解
ios
雾散声声慢7 小时前
解决 iOS 上 Swiper 滑动图片闪烁问题:原因分析与最有效的修复方式
前端·css·ios
QuantumLeap丶9 小时前
《Flutter全栈开发实战指南:从零到高级》- 24 -集成推送通知
android·flutter·ios
YungFan9 小时前
iOS开发之MetricKit监控App性能
ios·swiftui·swift
二流小码农10 小时前
鸿蒙开发:上架困难?谈谈我的上架之路
android·ios·harmonyos
图图大恼10 小时前
在iOS上体验Open-AutoGLM:从安装到流畅操作的完整指南
人工智能·ios·agent
笑尘pyrotechnic12 小时前
[iOS原理] Block的本质
ios·objective-c·cocoa