app 项目随着需求越来越多,app 的体积越来越大.尤其在 iOS 端 app 下载超过 150M,则会无法使用移动网络下载,也必然会流失小部分流量.
在开发过程中,有些需求砍掉了或者被迭代了,代码虽然被删除了,但是图片资源等可能没有被及时删除,会造成主项目中有大量的图片未被真正使用.
所以基于上述问题,需要定期检查项目中的冗余资源并且删除,达到减少 app 体积的效果.
https://github.com/tinymind/LSUnusedResources
这个工具是一个 mac 上的客户端,输入 project 地址和点击扫码就可以扫描出未使用的资源,并且可以配置正则表达式来匹配资源.
实际使用中的确发现了一些老图没有被删除.
但是缺点在于没有命令能执行扫描.
https://github.com/onevcat/FengNiao
这是一款命令行扫描项目中未使用的资源工具.
安装步骤:
git clone https://github.com/onevcat/FengNiao.git
cd FengNiao
./install.sh
执行命令:
fengniao -p /Users/xinxi/Documents/iOSProject/DDProject_iOS
扫描到未使用资源总数
扫描到未使用资源列表
FengNiao 完全是 cli 操作,弥补了 LSUnusedResources 的不足.
并且实际扫描的数据对比 LSUnusedResources 基本一致.
FengNiao 提供的数据,再把数据过滤出来就可以提供有效数据了.
封装了上面 FengNiao 的命令行参数,最终把数据导出到 check.log 中
字节数 + 图片地址
过滤主要是根据开发的需求,过滤出不需要的数据.
报告报告:版本、未使用总数据量、未使用资源列表
在 QA 管理平台中,包大小检查汇总模块可以汇总定期扫描的测试报告.
后续会把 iOS 检查未使用图片资源加入到专项测试中,每个版本的专项测试报告附上扫描结果方便开发优化项目.
iOS 之自动检测项目中的无用的图片资源
https://blog.csdn.net/luochuanAD/article/details/75995323
LSUnusedResources 的 github
https://github.com/tinymind/LSUnusedResources
FengNiao 的 github
https://github.com/onevcat/FengNiao