iOS 测试 iOS 检查未使用图片资源

xinxi · February 21, 2019 · Last by wumeijun replied at July 12, 2019 · 950 hits

前言

app项目随着需求越来越多,app的体积越来越大.尤其在iOS端app下载超过150M,则会无法使用移动网络下载,也必然会流失小部分流量.

在开发过程中,有些需求砍掉了或者被迭代了,代码虽然被删除了,但是图片资源等可能没有被及时删除,会造成主项目中有大量的图片未被真正使用.

所以基于上述问题,需要定期检查项目中的冗余资源并且删除,达到减少app体积的效果.

工具调研

LSUnusedResources

https://github.com/tinymind/LSUnusedResources

image

这个工具是一个mac上的客户端,输入project地址和点击扫码就可以扫描出未使用的资源,并且可以配置正则表达式来匹配资源.

实际使用中的确发现了一些老图没有被删除.

但是缺点在于没有命令能执行扫描.

FengNiao

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

image

扫描到未使用资源总数

image

扫描到未使用资源列表

FengNiao完全是cli操作,弥补了LSUnusedResources的不足.
并且实际扫描的数据对比LSUnusedResources基本一致.

脚本开发

FengNiao提供的数据,再把数据过滤出来就可以提供有效数据了.

导出数据

封装了上面FengNiao的命令行参数,最终把数据导出到check.log中

字节数 + 图片地址

image

过滤不需要的数据

过滤主要是根据开发的需求,过滤出不需要的数据.

比如过滤@2x或者@3x图.

image

报告展示

报告报告:版本、未使用总数据量、未使用资源列表

上传报告

在QA管理平台中,包大小检查汇总模块可以汇总定期扫描的测试报告.

image

后续

后续会把iOS检查未使用图片资源加入到专项测试中,每个版本的专项测试报告附上扫描结果方便开发优化项目.

学习文章

iOS之自动检测项目中的无用的图片资源

https://blog.csdn.net/luochuanAD/article/details/75995323

LSUnusedResources的github

https://github.com/tinymind/LSUnusedResources

FengNiao的github

https://github.com/onevcat/FengNiao

共收到 5 条回复 时间 点赞

不错的工具,不过楼主。破图了

飞狐 回复

我这里看图正常啊,你用app看的吧

实测了一下,还是有点问题,Delete会把工程中存在加载关系的图片也一起删除,导致编包失败。你这边使用正常吗?

请问楼主iOS安装包大小是通过什么方法获得的?

怎么 “封装了上面FengNiao的命令行参数”?

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up