1、Targets->Build Settings->Compress PNG Files选项选中后,xcode在打包时,
会同时改变图片的格式,并压缩图片。
2、如果Compress PNG Filest == YES,则经压图软件压过的图在xcode处理后,反而会变大。
所以要压缩ipa包的大小,需要作两点。
1、Compress PNG Filest设为NO。
2、全部或绝大部分图要用压图软件手动压缩。
我开始的思路是只对太大的图压缩,小的图就不压缩了,以保证显示质量。
但实妹证明这么作是不行的:
1、如果Compress PNG Filest设为NO,
则没有压的图xcode也不会再压缩,这就抵消了手工压过的图减少的容量。
2、如果Compress PNG Filest设为YES
则手动压过的图经xcode的处理后,又变大了。
所以最终的想法在是只Compress PNG Filest设为 YES的情况下,为保证显示质量只对极少部分常用的图不手动压,
如nav bar的背景图,view的通用背景图。其它的绝大部分图都用压图软件压缩。
经过上述处理后,ipa的包由14.5减少到了10.9。减少了3.4M,也就是23.4%。还是很客观的。
上述的ipa还没有提交app store,不知会不会有问题。
推荐压图软件:ImageOptim,这个工具内置了数个压图工具,会挑压的最小的图作为最终的输出,支持拖入目录,压缩目录下所有的图片。