好久没有写过东西了,一直用的CSDN,今后打算开启简书之旅。
坑一
先说下为什么写这篇文章,最近新版本上线,改了启动图,上线前没有在意,等上线通过从AppStore更新新版本时,我都快哭了:
我们之前的启动图是空白图片,紧接着加载我自定义的启动动画,现在改了启动图片,去掉了启动动画。
我之前所有的版本加载启动图用的都是xib,最新这个版本改成了launchImage。然后从AppStore更新新版本时,启动图还是原来的图片,由于之前是纯白色图片,你想想,“启动-空白-主页”,这是多么丑的一种体验,我试了几个手机都是这样,只有卸载掉APP,重新下载才会加载出新的启动图。老板说不会所有用户都是这样吧,我说,也许、大概、可能吧!让我默默的尴尬一会...
这个时候你们可能会说,设置启动图这是基础技术啊,加载不出来是你哪里没设置对吧?这怎么可能,如果设置不对的话,它永远都不会加载出来的,是吧?请看我的设置截图:
注:如果你不会设置启动图,按照我的截图设置就行了。
1.launchImage方式,在Images.xcassets中新建一个LaunchImage,具体image的尺寸,自己网上搜索一下,然后工程中按照我的截图方式设置。
2.LaunchScreen方式加载启动图,图二对勾选中,注意约束的添加,图一的截图改为:
既然设置没问题,那是为什么呢,Google了半天,发现大家是这样说的:
- I test it ,it seems the only way to update your launchImage is unistall the app ,and install again.
I think this is apple's bug , Apple cache the snapshots,but don't update it when we change the setting. - 如果某个版本使用了 LaunchScreen.storyboard 方式来设置启动图后,后续的升级版本不可再更改为 LaunchImage 的方式,如果有更改,则启动图依然会使用之前 LaunchScreen.storyboard 里的内容。
- 我也遇到这问题了,这是系统bug。
- 等等。
意思就是说:这是系统bug,如果你之前的版本是用 LaunchScreen设置的启动图,而你的新版本改成了LaunchImage,那么它加载的还是之前的图片。你们说这是不是坑人,吓的我赶紧改回LaunchScreen,加急了一个版本。
也许这不是系统bug,只是我还找到解决方案,我也不敢太确定,如果谁遇到类似问题,还是继续使用你的LaunchScreen吧。
另外,如果哪位大神知道方法,麻烦指导一下。
在查找上面原因的时候,发现大家遇到的有另外的坑,经验证确实是这样,这里也一一列举一下
坑二.
当单独使用LaunchImage设置启动图的时候,如果是iOS8以后的系统,在 APP 从后台通过 openURL 拉起到前台时,不会出现启动图;
坑三.
当单独使用LaunchScreen设置启动图的时候:
- iOS8 系统会导致 APP 在从后台被拉起到前台时,先出现黑屏再出现启动画面的情况
- iOS8以后系统,如果更换过启动图, APP 在后台被拉起到前台时出现的启动图不会更新
- 当然iOS8之前的系统不能通过该方式加载启动图
<div align = right>欢迎指导、纠正、评论!</div>