ipa的大小压缩优化

ipa的大小压缩优化

一个安装包分为二进制代码文件,资源,配置文件。ipa大小优化主要从资源、二进制文件入手。

资源类优化

图片

JPG图片压缩比是最小的,图片去除未使用的图片,最能减少ipa包的大小。JPG格式的图片可使用ImageOption进行无损压缩,降低图片的大小。PNG的XCode的配置CompressPNGFile为YES。同时也可使用ImageOption进行无损压缩。

文件资源

主要是检查是否存在过期文件,如不需要清理即可。

二进制文件优化

二进制文件是由各种代码文件、静态库、动态库经过编译后生成的可执行文件。

  • XCode开启编译选项Write Link Map File XCode -> target -> Build Settings -> 搜map -> 把Write Link Map File选项设为yes,并指定好linkMap的存储位置。
  • 编译后到编译目录里找到该txt文件,文件名和路径就是上述的Path to Link Map File。
    ~/Library/Developer/Xcode/DerivedData/XXX-eumsvrzbvgfofvbfsoqokmjprvuh/Build/Intermediates/XXX.build/Debug-iphoneos/XXX.build/。 这个LinkMap里展示了整个可执行文件的全貌,列出了编译后的每一个.o目标文件的信息(包括静态链接库.a里的),以及每一个目标文件的代码段,数据段存储详情。

可以使用第三方工具 计算Link map下每个静态库和.o可执行文件的大小。

编译选项优化

如果项目是很早之前(xcode4,5)建立的,迭代到现在 的确可以检查一下有利于减少安装包的编译选项:

  • Optimization Level 使用Fastest, Smalllest。这个选项会开启那些不增加代码大小的全部优化,并让可执行文件尽可能小。
  • Strip Linked Product 设置为YES,需要注意的是Strip Linked Product也受到Deployment Postprocessing设置选项的影响。在Build Settings中,我们可以看到, Strip Linked Product是在Deployment这栏中的,而Deployment Postprocessing相当于是Deployment的总开关。记得把Deployment Postprocessing也设置为YES, 该选项对安装包大小的优化效果还是非常明显的。 PS:Deployment Postprocessing这个配置项如果使用xcode打包,xcode会默认把这个变量置为YES, 如果使用脚本打包,记得设置。
  • Symbols Hidden by Default设置为YES,可以去除不必要的调试符号。
  • Make Strings Read-Only 设置为YES

参考文章:

  • iOS可执行文件瘦身方法
  • iPhone安装包的优化

你可能感兴趣的:(开发技巧,iOS,ipa,压缩)