iOS关于启动图更新无效的问题

事由

由于改版需求需要更换掉原来的启动图,但是在这个过程中却出现了奇怪的问题,就是启动图的图片修改后,发现启动的时候,启动图片并没有发生改变,这是什么原因呢?即使删除应用再重新安装,依然无效!

检查验证

是不是由于老图片还存在造成的?仔细检查后,包内的老图片确实已经被删除。那很可能的原因就是手机系统缓存了应用的启动图,并且在应用更换图片后,由于某种原因系统依然使用老的已缓存的图片。后来经过验证,删除应用,再重新启动手机,再安装应用,此时启动图才更新成新的启动图。

分析原因

苹果为应用提供了两种设置启动图的方式,LaunchScreen和LaunchImage。iOS 8 以前的应用不支持LaunchScreen。使用LaunchImage会不会出现这个问题,目前没有试验过,可能是没有这个问题的。现在只说一下我使用LaunchScreen.storyboard的情况。

在网上查了资料,使用LaunchScreen的情况下,出现启动图不能更新,可能是由于,系统缓存了启动图的截屏,并且会根据启动图的名字确定会不会刷新启动图的缓存。

目前已知的可行办法是,启动图不要放在Assets.xcassets里边(放在Assets.xcassets里边如果更改了启动图Set的名字,会出现启动的时候白屏),启动图放到外边的文件夹下,并且每次更新启动图的时候使用不同的名字,这样每次更换启动图后就,启动的时候就会使用新的启动图。

如果之前使用的是LaunchScreen,之后换成LaunchImage,那LaunchImage设置的启动图一定是无效的,因为LaunchScreen的优先级高于LaunchImage,没有什么好的解决办法,除非删应用,重启,重装应用。

结语

这个问题应该是苹果的一个Bug导致应用内更新启动图片后,应用启动时候不能及时更新启动图。这一块具体内部的实现并不清楚,不过好在找到了合适的解决办法。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近得闲,没事将公司项目框架,重头到尾整理了一遍。在做需求的时候,要更换启动图片,但是再打包测试的时候,发...
    _牙牙阅读 7,604评论 6 7
  • launchScreen更换了启动图,但程序跑起来还是旧的启动图,这让人很头疼。所以就换成了LaunchImage...
    上路喽阅读 3,617评论 1 5
  • 今天采访了三哈课代表,三哈老妈妈已经参加了五期以上了,两期学员,三期课代表,只有一期挑战失败。真的很佩服啊!我看老...
    爱吃果子123阅读 221评论 1 1
  • 初识九月晨天, 遇兄手执钢鞭。 挥舞逸飞如彩练, 流星赶月点点。 幸与师兄相见, 定把功夫习练。 相聚不多少逢面,...
    红旗如画乾坤赤阅读 843评论 30 31
  • 出去玩了一段时间……好久没上简书了……下火车了冒个泡…… 二胎这个词大家并不陌生,现在因为家庭衣食无忧,以及为...
    懵皙懵皙阅读 180评论 0 0