iOS 启动图不能及时更新的问题

        最近得闲,没事将公司项目框架,重头到尾整理了一遍。在做需求的时候,要更换启动图片,但是再打包测试的时候,发现启动图片一直更新不上,始终显示老版本的启动图。经过各种折腾终于解决,现在分享出来,给各位遇到相同问题的小伙伴参考。

      先来描述下我遇到的问题。早些时候,最早的开发同事用LaunchImage 的方式创建的启动图,这种方式更换启动图,都能及时更新。后面由于遇到5s上适配黑边的问题,公司的小伙伴用launchScreen.storyboar和LaunchImage并存的方式重新做了启动图。然后发出一个版本A,都没什么问题。但是当我们发版本B的时候,发现启动图放上去,打包测试的过程中死活都更新不上,把资源文件里所有的老图都删除掉,也更换不上。于是就有了这篇记录。

缘由


        由于历史原因,苹果公司提供两种设置启动图片的方式。launchScreen和LaunchImage
,iOS8以前的系统不支持launchScreen。两种方式如何设置启动图,这就不多说了,相信大家都很了解,不了解可以自己百度一下,有很多相关教程。这里只介如何绍解决问题。为什么会产生我上面所出现的问题呢,经过各种爬文,了解到,launchScreen方式会把启动图缓存到APP的资源包内,每次更新,这一部分资源会检测文件名称,如果名称一致,则不会更新(暂时这么猜测,毕竟谁也不太清楚苹果怎么来做的)。并且,launchScreen的资源优先级大于LaunchImage,无论LaunchImage如何替换资源,只要缓存里面有launchScreen留下的图片,都会使LaunchImage设置实效。经过试验如果想要清除这一步分缓存,可以先卸载APP,然后重启手机,重新下载才行(我们不能要求用户这样做)。所以如果你用过launchScreen来做启动图,就很难回头了。

解决方式


        说说我们怎么解决的:

1.将LaunchImage删除,只用launchScreen方式设置启动图

2.在launchScreen方式下,找到启动图,删除,改变图片名称,然后再拖入工程主目录下(不要放在Assets.xcassets中,这样可能更新找不到启动图,呈现白屏)。

3.在更新APP没有意外的话,应该就更新启动图啦。


相关链接


简单-设置启动图片的两种方式

ios设置启动图遇到的坑 

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,242评论 25 708
  • 坑一 先说下为什么写这篇文章,最近新版本上线,改了启动图,上线前没有在意,等上线通过从AppStore更新新版本时...
    MrCoolHao阅读 12,193评论 15 11
  • 我站着 远方很远 看树上的鸟儿飞去 看水里的鱼儿游去 你站在远方 画这画那 我知道 你在画远方 你对着我的方向 注...
    当代诗人云烟阅读 307评论 0 0
  • 早前,看到过关于一位获得过茅盾文学奖的某位作家的介绍。说他曾经为了寻找写作灵感,体验过很长一段时间的不使...
    魅影杂谈阅读 1,095评论 1 6
  • 我会在某处拾起 被你遗忘的叹息 把它交给一片即将远行的树叶 ...
    啦啦啦的棉花阅读 461评论 3 0