码农视角: iPhone XR升级到iOS 14.2之后引发的惨案
一次"手贱"的升级?
在忍住了iOS 14.1之后, 终于没忍住将xr升级到最新的iOS 14.2系统.
系统流畅性、耗电等使用咱就不在这评论了,毕竟评论的人也是太多了。
咱就从码农的角度谈谈之后发生的事。
高版本Xcode匹配貌似没什么问题
因为Mac pro里装了Xcode 12.1,所以当时只在Xcode 12.1中连接真机测试,貌似一切正常。
但Xcode 12.x里有个毛病,在编译复杂的SwiftUI描述性代码时,内存会一路飙升,最后一定把自己给玩挂了…
但这里就不聊这个了,下面切入正题
低版本Xcode无法真机调试!
另一台mac air由于Mac os版本太低,只能安装Xcode 11.x,而且还不能装最新的。
结果连接xr真机之后,发现无法调试了,有几个有趣的现象:
- 开始无法调试但可以安装到真机上去,也可以手动运行
- 后来真机安装和调试都不行了
- 提示 com.apple.dtdevicekit 服务无响应
于是开始疯狂尝试网络找到的各种解决办法:
- 删除项目Build Folder
- 删除Xcode Derived Data
- 重启Xcode
- 重启iPhone
- 重启Mac
- 重新签名Xcode开发者证书
统统无效!!!
之前也遇到过类似的问题
之前用低版本Xcode连接高版本iOS,也出现类似的问题,但是只需要添加最新的设备支持文件一般即可解决。
这次,我们能否用同样套路解决iOS 14.2不能真机调试的问题呢?
Let‘s try !!!
首先下载最新的Xcode 12.2 RC版,然后提取其中的iOS 14.2设备支持包。
或者你也可以到网络下载别人为你提取好的支持文件。
将iOS 14.2 支持文件放入 Xcode 11.x指定目录,照例重启Xcode,再次连接真机,错误依旧。
终极解决办法?
再尝试了所有方法无果之后,最终祭出终极大法:
升级Mac os!!!
将Mac os升级为目前最新的Catalina(卡特琳娜)
然后在“漫长”的等待过后,终于可以安装最新的Xcode11版本11.7了。
But,问题依旧!!!
接下来在下载最新的Xcode 12.1,然后将之前的iOS 14.2真机支持文件拷入…
再次尝试,终于可以真机了…
总结
所以最终的原因是Xcode版本太低的原因!?
我不知道Apple是否有这种惯例,就是隔几个iOS版本就会放个大招,让低版本的Xcode统统失效。
之前好像并没有特别注意到。
或者这只是iOS 14.2的一个BUG?可能会在iOS 14.2.1中修复!?
到底如何,让我们拭目以待。
最后想要说的就是,本来就捉襟见肘的mac air(2011年产)在升级到最新的mac os之后,竟然没有预想的那么卡,这可能是本次惨案唯一让人欣慰的事了…