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

每次ios的大版本更新都会让ioser们经历一番磨难,这次的ipados更新也不例外。特别是这次更新主要针对ipados用户来说是一场挑战。在ios13之前,iphone和ipad共享同一个操作系统,但自从ios13发布后,ipad便独立出来,命名为ipados。让我们先来看看升级ipados后的一个常见问题——app黑屏问题。

问题描述

在iOS13及之前的版本中,iPad能够正常启动App,但升级到iPadOS后,启动页面一闪即逝,随后便陷入黑屏状态。

问题分析

面对这个问题,我们感到有些无从下手。之前的代码运行正常,那么问题出在哪里呢?

图层分析法

首先,我们来看一下iPadOS的UI图层结构:

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

上图展示了UI图层的继承结构。我们看到最外层是WindowScene,内部有两个同级的window层。那么,这个WindowScene是什么呢?这是一个我们不太熟悉的概念,直觉告诉我们问题可能就出在这里。先不急着看这个WindowScene,我们先在可视化工具中查看一下都有哪些图层(如下图):

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

通过层次结构,我们可以看到我们的登陆页面依附于keywindow,并且keywindow看起来非常正常,资源文件等也都齐全。那么,为什么会出现黑屏呢?

我们将视角切换到带有EffectWindow的部分,也就是在Xcode左侧的代码图层结构中,你会看到可视化区域渲染出了一个黑色的Scene,这应该就是我们黑屏显示的部分了。

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

代码分析法

我们之前提到了WindowScene这个概念,但它到底是什么呢?

我们先来看一下Xcode11下的UIWindow:

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

再来看看Xcode10下的UIWindow:

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

通过对比,我们再来看看UIWindowScene是什么:

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

是不是感觉很不同啊?既然如此不同,那么问题很可能就出在这里。我们基本确定了问题的范围,接下来我们会继续深入研究这一部分……

以上就是iPadOS上启动黑屏翻车问题分析(一)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/146643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月2日 11:15:13
下一篇 2025年12月2日 11:46:46

相关推荐

发表回复

登录后才能评论
关注微信