LaunchScreen.storyboard 设置启动图始终黑屏怎么办

LaunchScreen.storyboard 设置启动图始终黑屏怎么办_第1张图片
新建LaunchScreen.storyboard 创建启动图

问题背景

一直以来我们的项目都是使用传统的静态图片方式,通过 `.xcassets` 文件夹下的`LaunchImage` 适配各种机型尺寸来展示启动图。尽管从 Xcode7 开始,已经默认提供 `LaunchScreen.storyboard` 方式来展示启动图,但我们一直没调整。现在苹果要求从 2020 年起,必须使用`LaunchScreen.storyboard` 的方式,所以我们才开始着手调整。


使用LaunchScreen.storyboard 设置启动图

使用`Xcode 11.6`,在没有移除原来 .xcassets 文件夹下的 `LaunchImage` 的基础上,新建一个`Launch Screen`,并命名为`LaunchScreenA.storyboard`,来制作启动图,并通过约束进行`Safe Area` 适配,勾选 (use as Launch Screen ),并且在`Targets` ---`General` 或 `info.plist` 中设置 `Launch Screen File`  或者 `Launch screen interface filebase name` 为`LaunchScreenA`。


LaunchScreen.storyboard 设置启动图始终黑屏怎么办_第2张图片
勾选 (use as Launch Screen )


LaunchScreen.storyboard 设置启动图始终黑屏怎么办_第3张图片
通过 Targets---General 中设置 Launch screen File

但这种设置方式下,如果修改了 `LaunchScreenA.storyboard` 中的图片后,再次运行真机或者模拟器,启动图会出现黑屏,后面即使卸载、关机重启、重新运行仍然无法解决黑屏的问题。(这是由于手机系统中保留了上次的启动图缓存)

最终解决办法:

最终发现有个办法:重新再新建一个一模一样的 `LaunchScreenB.storyboard`,然后通过`Targets` ---`General` 或者 `info.plist`  将 `Launch Screen File`  设置为 `LaunchScreenB`,重新运行即可解决每次启动始终黑屏的问题,最后还可以再删除掉原来的 `LaunchScreenA.storyboard`。


LaunchScreen.storyboard 设置启动图始终黑屏怎么办_第4张图片
重新新建一个 LaunchScreenB.storyboard ,并设置为 Launch Screen File。

你可能感兴趣的