恩美第二个APP项目电脑相关iOS备忘录

清理项目中的无用图片

2017-11-13  本文已影响37人  Edgarss

随着项目中不断更新迭代,由于各种原因,项目中总会出现很多曾经添加而现在不在需要的图片。而这些图片占用包大小,所以需要清理这些不在使用的图片。但是一个稍微大点的项目,图片数量可能都是几百个 icon 如果人工的方式进行查找浪费大量的时间跟精力,而又没有任何的价值,基于上边的需求,就用 python 写了这个查找无用图片小脚本。

图片加载现状

在做这个小插件之前,结合我们的项目和之前的经验总结了一下当前 iOS 开发中本地图片加载的现状大概有如下。

加载格式

存储位置

加载方式

注意事项

其实我们的项目有同事写的查找没有使用的图片的脚本,但是不具有通用性,我写这个脚本的目的就是希望可以通用起来,可以在绝大部分的项目中进行使用。因此也就要面对在不同项目中,上边这些不同的问题。

代码思路

扫描项目中的所有文件,找到所有的 .m 文件,读取 .m 文件中的内容,然后用项目中写图片的方式进行正则匹配,以此收集项目中使用过的图片,放到一个 Set 中。在扫描的过程中收集项目中的 .png 或者 .jpg 类型的图片。当所有这些操作结束之后,使用 Python Set 去差集的方法。将结果进行打印。
此外,另外声明代码上整个搜索过程的时间级为 O(n),这点在考虑在内了,可以放心进行使用。

遇到的问题

NSString *aaa = @"userIcon";
UIImage *image = [UIImage imageNamed:aaa];

未解决的问题

优化的方向

-通过植入的方式不需要外部去写复杂的正则(考虑到部分开发者其实接触的较少的问题),以及上边的未解决的问题,应该会在最近得到解决。
-因为项目中会有很多三方框架,如果三方框架较大,肯定会增加搜索和.m文件便利的耗时,所以考虑增加黑名单文件夹的功能

本文脚本下载地址

写在最后,最近在学习 python 所以就写了这个项目。有什么问题还希望指出,我会及时进行修改的。

上一篇下一篇

猜你喜欢

热点阅读