码农视角: 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之后,竟然没有预想的那么卡,这可能是本次惨案唯一让人欣慰的事了…

在这里插入图片描述