歡迎訪問我的主頁:http://catchzeng.com
QQ群:157672725
前言
隨著團隊人數(shù)增多,工程的復雜度提高,工程文件數(shù)變得相當多,清理工程變得越來越復雜。于是,閑暇時寫了一個清理工程中未使用的類文件工具。由于工程為oc代碼,所以工具只適用于oc創(chuàng)建的工程。工具測試時間短、用例少難免有不足的地方,有興趣的朋友使用前記得備份工程!
工具地址:https://github.com/CatchZeng/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文件中未使用文件的記錄數(shù)據(jù)。