iPadOS上启动黑屏翻车问题分析(一)

2019-10-10 15:30:16 浏览数 (1)

iOS的每次大版本更新都会是iOSer的苦难之旅,这次的iPadOS估计肯定也不例外当然了这次估计是针对iPadOS的苦难而已吧。在iOS13以下的iOS中iPhone和iPad用的是同一套OS而到了iOS13之后iPad单独摘出来另起炉灶称为iPadOS好了我们先上个坑---升级iPadOS之后App黑屏问题

问题描述

iOS13以下的iPad均能正常启动而到了iPadOS上启动启动页一闪而过之后是黑屏

问题分析

对这App发了好一会呆之后无从下手,怎么办吧。代码之前是没有问题的那么怎么玩

①图层分析法

我们先看iPadOS

上图是UI图层的继承结构,我们看到最外部的为WindowScene然后内部是两个同级的window层,那么问题来了这个WindowScene是什么呢?没见过,很陌生,直觉告诉我们问题可能出在这里。我们先不看着这个WidowScene,我们在可视化下看看都有哪些图层吧(下图)

通过层次结构我们看到我们的登陆页(依附于keywindow) keywindow十分正常,资源文件等一应俱全。那么是什么原因出现的黑屏呢?

我们将视角切换一下来带EffectWindow,也就是点击Xcode左侧的代码图层结构,你会看到可视化的区域渲染出了一个黑色的Scene,这个应该就算是我们黑屏是展示的部分啦

②代码分析法

我们上文提到了WindowScene这个东东,可是这个是什么啊?

我们先看看Xcode11下的UIWindow

在看看Xcode10的

有了对比我们看看UIWindowScene是什么?

是不是感觉很不同啊,既然很不同那么问题十有八九就出现在这里啦。好了我们基本确定了问题的范围就好说了,明天继续啃这部分……

0 人点赞