1、配置编译选项build setting- (Levels 选项内)Generate Debug Symbols 设置为 NO
这个配置选项应该会让你减去小半的体积。注意这个如果设置成 NO 就不会在断点处停下
2、舍弃架构 armv7
armv7 用于支持 4s 和 4,4s 是 2011 年 11 月正式上线,虽然还有小部分人在使用,但是追求包体大小的完全可以舍弃了。
3、去除无用的三方库、代码、readme
4、图片处理图片是安装包里占用空间最大的东西,我的项目中占用了一半的体积。
**用 imageoptim 压缩图片的大小
**一些比较大体积的背景图片压缩成.jpg 格式的。
**用 LSUnusedResource 这个软件查找项目中没有用到的图片,然后删除,当然不一定特别准确,有一些[UIImage imageNamed:[NSString stringWithFormat:@"icon_%d",index]]这样使用的图片也会被列在未使用图片中。
**使用 Assets.xcassets 来管理图片也可以减小安装包的体积
5、build setting 里 DEAD_CODE_STRIPPING = YES(好像默认就是 YES)
确定 dead code(代码被定义但从未被调用)被剥离,去掉冗余 的代码,即使一点冗余代码,编译后体积也是很可观的。
6、编译器优化级别 Build Settings->Optimization Level 有几个编译优化选项,release 版应该选择 Fastest, Smalllest[-Os]
这个选项会开启那些不增 加代码大小的全部优化,并让可执行文件尽可能小。
7、去除符号信息 Strip Debug Symbols During Copy 和 Symbols Hidden by Default 在 release 版本应该设为 yes
可以去除不必要的调试符号。 Symbols Hidden by Default 会把所有符号都定义成”private extern”,设了后会减小体积。
8、Strip Linked Product:DEBUG 下设为 NO,RELEASE 下设为 YES,用于 RELEASE 模式下缩减 app 的大小; 2018.7.17 新增
9、编译器优化,去掉异常支持
Enable C++ Exceptions、Enable Objective-C Exceptions 设置为 NO,Other C Flags 添加-fno-exceptions Enable C++ Exceptions Enable Objective-C Exceptions Other C Flags 添加-fno-exceptions
10、利用 AppCode 检测未使用的代码:菜单栏 ->Code->InspectCode
最后要说:xcode BulidSetting 中的设置都可以区分 debug 和 release,如果觉 得在开发的时候还想用到这些,就把 debug 和 release 分开设置就可以了
简单几步包大小由9.6MB缩小到7.1MB