iOS解决LaunchScreen图片显示问题:白屏、黑屏、不显示、显示旧的图片等等问题

问题

1:在LaunchScreen启动页中设置图片,模拟器运行可以显示,真机运行无法显示。

2:在LaunchScreen启动页中设置图片,项目工程内看是有的,但是真机运行无法显示。

3:在LaunchScreen启动页中替换旧的图片,我们更新了assets中的资源图片,项目工程内看是变了的,但是真机运行还是显示旧的图片

原因

由于历史原因,苹果公司提供两种设置启动图片的方式。launchScreen和LaunchImage,iOS8以前的系统不支持launchScreen。launchScreen方式会把启动图缓存到APP的资源包内,每次更新,这一部分资源会检测文件名称,如果名称一致,则不会更新。并且,launchScreen的资源优先级大于LaunchImage,无论LaunchImage如何替换资源,只要缓存里面有launchScreen留下的图片,都会使LaunchImage设置实效。经过试验如果想要清除这一步分缓存,可以先卸载APP,然后重启手机,重新下载才行(我们不能要求用户这样做)。

解决方法

1.将图片从 Assets 中拿出来,记得重新命名

不要用旧的文件名称,直接拖拽到项目资源目录中(要把图片放在文件根目录下,不然也会出现加载不出来的情况。)。


2.重新运行到真机,可以显示。替换图片也会显示新的图片

--------------------------------------------------------------------------------------------

如果上面的还解决不了:

方法一:使用Launch Screen这种方式设置启动图后,再转换成images.xcassets方式设置新的,启动页不会更改。

方法二:使用images.xcassets这种方式设置启动图后,再转换成Launch Screen方式设置新的,启动页会更改,看来Launch Screen优先级比较高。


方法三:在Launch Screen上直接更换图片,如果更换不成功(都说是苹果的bug,换了图没有更新是系统有缓存,没有把老图片替换。),把图片名字改了试试。

方法四:在Launch Screen上直接更换图片,如果更换不成功,删除原先的在Launch Screen.storyboard创建一个新的,添加UIImageView和约束,添加图片,注意:图片名称还得换成新的。

以上这些基本可以解决了。

问题常见的搜索描述

在LaunchScreen启动页中替换旧的图片,启动页显示的还是之前旧的图片,不显示新的图片

iOS替换LaunchScreen启动页中图片的问题

启动页中图片的替换

启动页中图片替换的问题

iOS中加载LaunchScreen启动页中的图片问题

iOS LaunchScreen.storyboard 启动页设置图片不显示

iOS Launch Screen 更换启动图片不成功的问题(有坑)

iOS 更换启动图后不生效解决办法

iOS启动页图片设置方式及错误的解决办法

LaunchScreen.storyboard 启动页设置图片不显示启动页白屏

关于iOS启动页launchImage无法显示解决办法(附:图片命名)

iOS中启动页图片不变化

你可能感兴趣的:(iOS开发中的疑难杂症,xcode,swift,objective-c,ios,iOS开发中的疑难病症)