其他分享
首页 > 其他分享> > iOS14 黑屏问题 | 记录一次修改系统 bug 过程

iOS14 黑屏问题 | 记录一次修改系统 bug 过程

作者:互联网

目录

一、现象

当升级 iPad 系统到最新的 14.0.1 时候,线上 App 启动后变为黑屏状态

二、解决思路

因为以前就遇到过黑屏情况,本以为这次也是简单的问题。打开项目查看,项目使用的是 LaunchScreen.storyboard 里面加一个全屏的 UIImageView 处理,看起来没有任何问题;

2.1 检查步骤:

上述基本步骤查完意识到,这可能不是一个简单的黑屏问题,实时也是如此;

2.2 Demo 验证

为了验证项目是否配置错误或者缓存等其他原因,我新建了一个 Demo 来验证;

使用 Xcode 12.0 新建一个项目,在 LaunchScreen.storyBoard 加一个全屏的 UIImageView, 配置好,将项目中 2732 * 2732 的启动图拉过来,模拟器运行;

这 TM 也黑屏;

这 TM 也黑屏;

这 TM 也黑屏;

2.3 控制台应用分析

这篇文章中详细解释了启动图的加载流程:

查找沙盒目录中是否存在可用的缓存启动图,如果有则直接使用,否则执行下一步;

根据 LaunchScreen.storyboard 生成新的启动图,并将其缓存至沙盒目录/Library/SplashBoard/Snapshots/ - {DEFAULT GROUP}/

在实际测试中,反复测试进行比对的时候,系统均无法生成对应的图片:

这隐隐猜测到,这可能是个系统的Bug

2.4 查阅官方文档

Github 这个 issue中提到,iOS 14.0 之后有UILaunchScreen 新的启动方式,查看官方文档,文档指出:

Note
Use this key to configure the user interface during app launch in a way that doesn’t rely on storyboards. If you prefer to use storyboards, use UILaunchStoryboardName instead.

理论上分析,苹果文档这么说明,应该是可以使用 UILaunchStoryboardName 的启动方式,但实际上不行。

尝试 UILaunchScreen + uilaunchstoryboardname 组合方式进行配置,得出如下结论:

2.5 面向 Google 编程

在苹果社区的这个讨论这个讨论中都讨论了黑屏问题,但大多都没有实质的解决方案,在 Stack Overflow 的这个提问中提到,更改图片尺寸来处理

通过尝试修改图片尺寸(测试为:2400 * 2400)与格式(jpg),反复测试后得出如下结论:

2.6 解决方案

方案一:

在实际测试中,结合这篇文章提到的替换启动图方案 + 改变原来 2732 * 2732 png 的图片是可以解决掉这个问题的。

但由于我们实际项目 ToC,而且这种做法不是官方标准方案,因此没有采用,最终仅仅做了图片大小改为 2400 * 2400(这方案一定几率还是会失败)。

方案二:

如果项目中启动页是纯色 + Logo 等形式,你可以使用 StoryBoard 背景纯色 + logo 等形式处理。这种方案简单测试下,应该可行。

这种方案需要注意图片大小(2732 * 2732.png) 很容易失败;

单由于我们启动图是张渐变的图片,因此该方案不可取。

三、其他问题

在实际测试中,如果你使用的不是满屏的图片,这种出现的概率较低。(不是没有,有朋友遇到了,是概率低)。

有尝试背景纯色+Logo+满屏启动图方案,希望如果未成功,损失渐变效果。实际测试中,如果是满屏图片,启动图未成功就是黑屏状态,不会透过满屏显示 Logo + 纯色背景。

卸载 App,然后立马重新装 App,系统大概率还没有回收掉那部分的进程,因此连续测试很容易得到连续失败或者连续成功情况

卸载 App,然后立马重新装 App,系统大概率还没有回收掉那部分的进程,因此连续测试很容易得到连续失败或者连续成功情况

卸载 App,然后立马重新装 App,系统大概率还没有回收掉那部分的进程,因此连续测试很容易得到连续失败或者连续成功情况

我在苹果社区提了一个相关问题:iOS 14.0.1 LaunchScreen black when start app,如果有遇到并解决掉这个问题的,麻烦在本文下或者苹果社区回复下,非常感谢!

That is All!

标签:iOS14,2732,启动,App,UILaunchScreen,测试,bug,黑屏
来源: https://www.cnblogs.com/gaox97329498/p/13855287.html