1.编译器的优化级别
Build Settings -> Optimization Level ,release版 选择 Fastest,Smallest 这个选项会开启那些不增加代码大小的全部优化,并让可执行文件尽可能小 (默认就是这个了)。
2.去除符号信息
Strip Linked Product / Deployment Postprocessing / Symbols Hidden by Default 在release版本应该设为yes,可以去除不必要的调试符号。Symbols Hidden by Default会把所有符号都定义成”private extern”,详细信息见官方文档。(注:Cocoapods子工程 不可以设置 Symbols Hidden by Default)
这些选项目前都是XCode里release的默认选项,但旧版XCode生成的项目可能不是,可以检查一下。
3.资源优化
资源压缩(png有损/无损压缩 ,js/html压缩,音视频压缩)
去除无用资源
非必须资源按需下载On Demand Download
(注:图片 无损压缩几乎没有效果,因为 打包过程中 Xcode会把之前处理过的逆转回来)
4.对于纯OC项目
Cocoapods不要使用use_frameworks!如果使用会带来大约10%-25%的包体增大(可怕😭)。
Swift 和 OC 混编 编译阶段也会加入 一些Swift依赖库 大约增加 6MB。
尝试了以上步骤,我的App 成功 从 28MB -> 16MB
参考文献:
1. http://blog.cnbang.net/tech/2544/
2.http://blog.163.com/l1_jun/blog/static/1438638820169242493464/
3.http://stackoverflow.com/questions/5264449/why-is-my-app-5mb-larger-on-the-app-store