iOS的ipa包瘦身之旅
2018-11-08 本文已影响7人
宋唐不送糖
最近项目比较空闲之余做个包瘦身检测,本身包大小也才27M左右,优化空间不大,把方法记录下给广大道友。
1、未使用的文件检测
使用检测工具:WHC_Scan(https://github.com/netyouli/WHC_Scan,支持iOS和安卓端)
扫描结果2、未使用的图片检测
检测工具:LSUnusedResources(https://github.com/tinymind/LSUnusedResources)
扫描结果3、生成的可执行文件检测
用js脚本解析mach-o文件(https://gist.github.com/bang590/8f3e9704f1c2661836cd)
检测结果检测出每个release生成的.a、.o文件大小,大头是静态库。所以如果工程里有相同功能的静态库可以只保留一个,或者对生成静态库支持的设备结构减少,比如armv7s、armv7、arm64,会节省不少空间。
4、未调用的方法检测
工具:SMCheckProject(https://github.com/ming1016/SMCheckProject)
扫描结果检测所有类,但是有封装的库暂时无调用,需要逐个识别类。代码层次优化效果较小风险较大,所以没有深入研究。