不升级Xcode, 不升级Mac, 依然能好好Debug iOS13

黑客技术

点击右侧关注,了解黑客的世界!

Java开发进阶

点击右侧关注,掌握进阶之路!

Python开发

点击右侧关注,探讨技术话题!

作者丨熊大

来源丨UC研发效能

https://mp.weixin.qq.com/s/ba9ZWrfC3A4QqdOrhyvnQQ

引言

苹果惯例一年一度大升级一次iOS, 会把相关开发工具和系统都升级一遍, 十分蛋疼, 很多时候, 我们还不想升级XCode, 更不想升级系统, 特别是beta版的时候, 同时安装2个XCode, 十分恶心. 对于Mac OS还好, 大部分情况的新版XCode都可以支持到当前主流的系统版本, 如果不是Mac开发者, 基本不用去折腾beta版的Mac.

其实一直以来都有方法, 去使用任何的XCode版本去调试当前XCode版本不支持的iOS系统.

怎么做呢?

使用旧XCode调试新的iOS系统

如果你的Mac插入iPhone后, XCode能正常识别出来, 那就只需要打开这个目录

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

把对应里面没有, 而且你又需要的系统DeviceSupport复制进去即可, 然后重启XCode后, 等XCode生成对应系统的符号表, 即可开始调试.

对应的iOS系统DeviceSupport的文件, 可以到github 找一找

如果XCode识别不到你的机器

你可以下载新的XCode, 解压后, 在 Xcode.app/Contents/Resources/Packages 下能找到MobileDevice.pkg, 直接安装就可以.

什么是DeviceSupport

可以简单看到DeviceSupport的每个系统版本的文件夹里面, 都只有2个文件, DeveloperDiskImage.dmg和DeveloperDiskImage.dmg.signature.

XCode连接上手机时, 会自动挂载对应的DeviceSupport, 想手动挂载上去也可以通过ideviceimagemounter指定对应的DeviceSupport去挂载, DeviceSupport里面的东西权限非常大, 我们也有想过替换里面的东西, 可是无奈终究还是绕不过dmg的签名, iPhone直接拒绝挂载 /(ㄒoㄒ)/~~ 在历史iOS版本的越狱工具里, 也有大神利用了DeveloperDiskImage的漏洞.

那样DeviceSupport里面是有些什么呢?

如果在Mac下挂载DeveloperDiskImage.dmg后, 可以看到里面是这样的

iOS挂载DeveloperDiskImage后, LaunchDaemons里面的服务启动时自动加载, Lockdown里面的服务, 则可以通过usbmuxd发消息去调用, 另外里面有很多我们平常熟悉的服务和工具, 有兴趣深挖一下.

MobileDevice.pkg 是干什么的?

使用苹果的PackageMaker查看这个pkg, 可以看到苹果更新的相关的驱动和相关依赖库

Mac下安装不明来历的pkg是非常危险的..

关于UC研发效能

研测领域资深专家团队,依托UC十余年移动技术沉淀,全力打造专业的研发效能平台。服务于阿里巴巴100+产品,为团队降低研测成本、提升交付效率,助力产品提升用户体验,让产品交付更好更快更安心。

 推荐↓↓↓ 

????16个技术公众号】都在这里!

涵盖:程序员大咖、源码共读、程序员共读、数据结构与算法、黑客技术和网络安全、大数据科技、编程前端、Java、Python、Web编程开发、Android、iOS开发、Linux、数据库研发、幽默程序员等。

万水千山总是情,点个 “在看” 行不行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值