iOS的ipa包瘦身之旅


最近项目比较空闲之余做个包瘦身检测,本身包大小也才27M左右,优化空间不大,把方法记录下给广大道友。

1、未使用的文件检测

使用检测工具:WHC_Scan(https://github.com/netyouli/WHC_Scan,支持iOS和安卓端)

iOS的ipa包瘦身之旅_第1张图片
扫描结果

2、未使用的图片检测

检测工具:LSUnusedResources(https://github.com/tinymind/LSUnusedResources)

iOS的ipa包瘦身之旅_第2张图片
扫描结果

3、生成的可执行文件检测

用js脚本解析mach-o文件(https://gist.github.com/bang590/8f3e9704f1c2661836cd)

iOS的ipa包瘦身之旅_第3张图片
检测结果

检测出每个release生成的.a、.o文件大小,大头是静态库。所以如果工程里有 相同功能的静态库可以只保留一个,或者对生成静态库支持的 设备结构减少,比如armv7s、armv7、arm64,会节省不少空间。

4、未调用的方法检测

工具:SMCheckProject(https://github.com/ming1016/SMCheckProject)

iOS的ipa包瘦身之旅_第4张图片
扫描结果

检测所有类,但是有封装的库暂时无调用,需要逐个识别类。代码层次优化 效果较小风险较大

你可能感兴趣的:(iOS的ipa包瘦身之旅)