LaunchScreen.storyboard 设置启动图始终黑屏怎么办
发布网友
发布时间:2022-10-09 18:31
我来回答
共1个回答
热心网友
时间:2023-11-26 17:46
一直以来我们的项目都是使用传统的静态图片方式,通过 `.xcassets` 文件夹下的`LaunchImage` 适配各种机型尺寸来展示启动图。尽管从 Xcode7 开始,已经默认提供 `LaunchScreen.storyboard` 方式来展示启动图,但我们一直没调整。现在苹果要求从 2020 年起,必须使用`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`。
但这种设置方式下,如果修改了 `LaunchScreenA.storyboard` 中的图片后,再次运行真机或者模拟器,启动图会出现黑屏,后面即使卸载、关机重启、重新运行仍然无法解决黑屏的问题。(这是由于手机系统中保留了上次的启动图缓存)
最终发现有个办法:重新再新建一个一模一样的 `LaunchScreenB.storyboard`,然后通过`Targets` ---`General` 或者 `info.plist` 将 `Launch Screen File` 设置为 `LaunchScreenB`,重新运行即可解决每次启动始终黑屏的问题,最后还可以再删除掉原来的 `LaunchScreenA.storyboard`。