在使用Xcode9.2适配iPhone X的过程中遇到了部分图片显示异常(不显示或花掉)的问题。主要分两种情况,一是App Icon不显示,二是资源图片在iOS8.1 iOS8.2上面会花掉,本文简单记录一下这两种情况的解决方案。
升级Xcode9.2之后App Icon突然不显示
在Xcode8.x上配置好的App Icon文件,在Xcode8.x的模拟器以及打包安装到真机上App Icon都能正常显示。升级到Xcode9.2之后,查看App Icon中资源文件都正常,但是在模拟器上跑的时候和安装到真机上App Icon怎么都显示不出来。
解决办法:
- 用预览把App Icon打开,把alpha通道关闭;
- 预览-工具-指派描述文件,把ColorSync描述文件从iMac选项改为sRGB选项;
修改完成之后保存,重新跑项目,应用图标就出来了。
Xcode9.2打包安装到iOS8.1和iOS8.2的机器上资源图片花掉
在适配完iPhone X之后,公司的测试人员拿出它iOS8.1的iPhone5s,装上之后把大家吓了一跳,App中大部分图片都花掉了,而直接放在bundle下的和从网络加载的图片却没有花掉,代码有毒?
比如好好的一张图,会花得让你怀疑自己是不是撸多了:
这一定是Xcode的bug,这个锅,我们开发不背😂。不知道是苹果有意督促iOS8的用户去升级系统还是不小心没有考虑适配iOS8。
解决办法:
1.等待苹果爸爸升级Xcode,修复bug。
2.把图片资源直接放在bundle下,不要放在image assets下。
3.装两个Xcode,打包的时候用低版本的Xcode打包,开发的时候用Xcode9.2开发。
这些年苹果的bug好像暴露的越来越多了,一度让人们怀疑苹果的代码质量不如以前了。其实,时代在发展,大家面对的挑战必将越来越大,谁都难保证自己写得代码没有bug,包括苹果这样伟大的公司。最近爆出Intel的“Meltdown”和“Spectre”硬件上的漏洞更是忙坏了全世界一大批开发人员。最新的系统总是会修复一些漏洞和bug的,为了大家的安全,大家能升级的还是尽量升级到最新系统。生命不息,我们程序猿和bug的斗争就不会停止。
2018-4-4补充
经测试,Xcode9.3依然存在这个问题。