版本记录
版本号 | 时间 |
---|---|
V1.0 | 2020.04.25 星期六 |
前言
苹果的政策一直在变,所以很多时候我们都需要根据政策及时变动,比如加苹果登录、
UIWebView
修改为WKWebView
以及后面这个启动图片通过storyboard进行加载等,这一个专题就专门来处理苹果政策的变化。感兴趣的看下面几篇文章。
1. 苹果官方紧急处理 (一) —— 强制更换启动图加载方式(一)
2. 苹果官方紧急处理 (二) —— 强制更换启动图加载方式为storyboard实践和遇到的坑(二)
问题描述
这里一共遇到了三个问题:
- 1) 第一个问题就是和QA模拟版本迭代升级换启动图,发现的问题,就是升级版本号换启动图都正常,但是如果降低版本号,换启动图就是黑屏了。
- 2) 给背景图设置保护色,图片加载不出来的时候保护色不出来的问题。
- 3) 适配问题。
问题解决
说实话这三个问题,只有第三个问题好解决,其他两个已经无解了,我们开发者可以活动或者解决的余地不是很大了。
但是我还要细说一下这三个问题,谁要是遇到了可以给提供下宝贵意见或者以待参考。
先说第一个问题。
- 1) 也许有人会问,用户都是升级,哪里来的降级呢,确实一般都是升级,但是也存在内测,升级版本,然后从
store
下载版本的情况。当然这个是极特殊情况。
这个黑屏问题我真的尝试了不知道多少方法了,但是都不管用:
- 资源从
asset
和根目录来回换 - 用兄弟公司App的启动图尝试
- 图片命名尽量别用
launch
开头 - 清除沙盒里面
splashBoard
还有cache/snapshot
等目录缓存 - 图片都打开或者关闭
alpha
通道
等等试了很多方法还是黑屏。只要是中间降低过版本,更换的启动图就不会生效,屏幕变黑。
但是这个问题真的自己无解了,毕竟我们程序员可以做的很少了,都是工程配置和一个自建立的storyboard
。storyboard
里毕竟只是imageView
的autolayout
。
所以这个问题暂时就是搁置了,只能暂时保证升级没问题就行。
下面说下第二个问题
- 2) 想着降低版本的话,图片image找不到的话,那就给
imageView
添加个保护色吧,这样不至于黑屏看着难受,可是问题出来了,如果设置了图片,图片没加载出来,imageView
的backgroundColor
是不生效的,还是黑色的;但是如果不设置图片名字,run一下就可以看见imageView
的背景保护色了。
这个问题我们也是无解的,这个像是什么呢?有点像iOS找不到图片默认给了个黑色的image
,所以后面的imageView
的背景保护色也是出不来的。
下面说第三个问题
- 3) 这个适配问题,还得从以前说起,以前用
launchImage
的时候,image set
里面最大的图也只是375 * 812
的,但是现在最大的手机比如xsmax
的尺寸是414 * 896
。所以以前主页面,比如我的
页面,使用的是812
启动图,所以会有拉伸的感觉,启动图尺寸会影响主页的。字体什么的都会被拉伸,换了launchScreen.storyboard
这种方式以后,会发现好看多了,主页也不会拉伸了。但是随之而来的问题就是以前的很多界面,都需要适配,比如很多机型和系统判断是不是流海屏的宏都不起作用了。
这个是细活,不难,就是有点繁琐,都是细节问题。
总结:上面三个问题,确实属于意料之外,以为这个替换启动方式的小需求很简单,半小时完事的活,耽误了很多天,还留下了无法解决的问题。确实超过了自己的预期。但是找了很多天的资料,比如
stackOverflow
啥的,发现这个问题三年前就存在了,但是还是没找到好的解决办法。不知道是苹果的bug
还是它在有意为之。
后记
本篇主要讲述了强制更换启动图加载方式为storyboard实践和遇到的坑,感兴趣的给个赞或者关注~~~
网友评论