iOS安装包压缩

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

最近做app安装包压缩工作

主要工作:

1.精简资源文件,所有图片资源压缩,删除所有没有用到的图片资源。

删除资源后安装包减少明显;

2、更改工程编译配置

将Generate Debug Symbols改为NO (debug状态下不要修改,不然调试过程中会打断点无效)
将build setting中的Optimization Level设置为release 下改为(Fastest, Smallest [-Os])  debug 下不要改,不然打断点打印的时候,打印的对象可能会是nil

 将build setting 中的Strip Debug Symbols During Copy设置为YES(COPY_PHASE_STRIP = YES),

Symbols Hidden by Default 在release版本应该设为yes,可以去除不必要的调试符号。

三、删除重复的代码、冗余的代码、不用的类、函数、变量等

原来安装包大小33,952,168字节

增加一个testViewController后大小33,943,592字节

添加一个空的viewcontroller不增加其他的方法,大概会增加8K的大小 大量的注释基本不会影响安装包的大小。

通过分析编译产生的.o文件的大小,查看安装包中哪些类占用的空间大,然后按大小从上往下遍历代码中的类,删除没用的代码。编译后,文件名和路径位于~/Library/Developer/Xcode/DerivedData/XXX-eumsvrzbvgfofvbfsoqokmjprvuh/Build/Intermediates/XXX.build/Debug-iphoneos/XXX.build/

iOS安装包压缩_第1张图片

因为服务器下发的JSON内容有很多字段,我们app处理时候基本是每个字段都解析了,所以本地好多类的变量很多,但是在下面的逻辑处理时候或者界面展示的时候,基本不用。例如orderSkuModel有两百多个变量,但是有很多变量都是解析完,没有使用。此时应该把他们去除。

这一轮修改后基本原来一千九百行的代码,删减后只剩一千行,原来的成员变量只剩一百个左右。

 

四:

去除项目中不用的framework、lib库等,项目中持续周期比较长,里面可能会有不再使用的库文件。删除后,安装包减少比较明显。例如我们项目中有个检测崩溃的库,在开发过程中使用过,后期不再使用,打包也不应该将其打进安装包,应将其删除。

 

 

 

比较好的技术点:

http://www.cocoachina.com/ios/20150202/11084.html

http://www.cocoachina.com/ios/20151203/14562.html

 

 

 file JDKeplerDevApp 查看app文件详情

 

otool -l JDKeplerDevApp  查看app命令详情

转载于:https://my.oschina.net/u/2252309/blog/673203

你可能感兴趣的:(iOS安装包压缩)