iOS

iOS清理工程中未使用的类文件工具

iOS开发见闻

Posted by CatchZeng on January 23, 2016

前言

随着团队人数增多,工程的复杂度提高,工程文件数变得相当多,清理工程变得越来越复杂。于是,闲暇时写了一个清理工程中未使用的类文件工具。由于工程为oc代码,所以工具只适用于oc创建的工程。工具测试时间短、用例少难免有不足的地方,有兴趣的朋友使用前记得备份工程! 工具地址:CATClearProjectTool, 欢迎star、fork、issue。

效果

1.下图为测试工程结构:包含AppDelegate、ViewController、CATUsedClass、CATUsedClass2、CATUnUsedCLass以及test文件。其中test文件和CATUnUsedCLass未在工程中使用过。 测试工程结构

2.将测试工程的.xcodeproj拖拽到工具中。 拖拽工程到工具

3.点击search按钮,文本框将列出所有未被使用的类文件。 搜索结果

4.点击click按钮,文本框将显示成功清理的类文件列表。 清理后的结果

5.再次打开工程,能看到已成功清理未使用的类文件【注:工程中默认过滤掉AppDelegate,ViewController,main三个类文件的删除】

6.你也可以加入过滤,如下图过滤掉CATUnUsedCLass,则即使它在工程中未使用过也不会将它删除(多个过滤文件,使用逗号隔开)。 加入过滤

7.加过滤后清理的结果 加过滤后清理的结果 清理后的工程结构

工具的原理

读取project文件中的文件组织信息,找到工程中所有的类,然后遍历所有类文件的#import情况,找出未使用的类文件删除,并删除project文件中未使用文件的记录数据。