Xcode9.2打包图片显示异常解决方案

在使用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打包图片显示异常解决方案_第1张图片
修改ColorSync描述文件

修改完成之后保存,重新跑项目,应用图标就出来了。

Xcode9.2打包安装到iOS8.1和iOS8.2的机器上资源图片花掉

在适配完iPhone X之后,公司的测试人员拿出它iOS8.1的iPhone5s,装上之后把大家吓了一跳,App中大部分图片都花掉了,而直接放在bundle下的和从网络加载的图片却没有花掉,代码有毒?

比如好好的一张图,会花得让你怀疑自己是不是撸多了:

Xcode9.2打包图片显示异常解决方案_第2张图片
花掉的图标
Xcode9.2打包图片显示异常解决方案_第3张图片
花掉的tabbar icon

这一定是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依然存在这个问题。

你可能感兴趣的:(Xcode9.2打包图片显示异常解决方案)