檢測iOS項目中未使用的方法

1、檢查ObjectiveC項目中 未使用的方法

準備工作

  1. 已自己的項目為例,將工程進行build,后show in finder

  2. 顯示包內容


  3. 找到Mach-O可執行文件


工具地址

https://github.com/nst/objc_cover
此腳本方法只能檢測 OC 可能未使用的方法,不適用其他場景

開始檢測

輸出

  • 所有的未使用方法都會被列出,包含pod三方庫中的方法;

原理

原理利用 Mach-O 文件的結構和展示內容:
__TEXT:__objc_methname: 中包含了代碼中的所有方法;
__DATA__objc_selrefs:中則包含了所有被使用的方法的引用,通過取兩個集合的差集就可以得到所有未被使用的代碼.

Mach-o內部結構

問題:

如果在執行過程中出現can't find implemented methods

  • 由于正則表達式的一些問題造成的,可以將objc_cover.py中的:
re_sig_sel_ios = re.compile("\s*imp 0x\w+ ([+|-]\[.+\s(.+)\])")

更換為即可解決問題

re_sig_sel_ios = re.compile("\s*imp\s*0x\w+ ([+|-]\[.+\s(.+)\])")

2、檢查Swift項目中未使用的方法、屬性、類

工具地址

https://github.com/zColdWater/swift-scripts
此腳本方法只能檢測 swift 可能未使用的方法、屬性、類

開始檢測

1. cd <項目根目錄>
2. 將unused.rb腳本文件本地路徑填入終端, 或者直接將 unused.rb 拖拽至終端。

例如:


輸出

Xcode 集成


*工具本地路徑(建議將工具放入工程根目錄)+xcode即可

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容