flexih / Snake

Yet Another Mach-O Unused ObjC Selector/Class/Protocol Detector. 检测ObjC无用方法、无用类、无用协议。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

需要优化 xib 方法的筛选

ShrinkLynn opened this issue · comments

举个例子,假设类ACell,通过 XIB 链接了 属性 aButton,click: 方法,snake 会报 [ACell click] 和 setAButton 没有被引用

Snake的初衷是不接触源码,只通过二进制产物来完成分析。只有通过objc_msgSend调用的ObjC方法(clang -rewrite-objc)记录在Mach-O,所以这种方式只能是“精确”检测中的一个环节。
不过Storyboard的分析不复杂,我写了Python脚本获取SB里调用过的方法,参考https://github.com/flexih/Snake#storyboard。
对于IBOutlet,也可以通过类似的方法获得。