问题
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中启动页图片不变化