勾某个类的所有方法的,查看所有方法的执行顺序
使用方法
[BigBang hookClass:@“A_ManageViewController”];
效果图
是不是很赞赶紧star
好好的一个帖子为什么要扯上微信
勾微信方法的时候,发现麻烦,才做这个的
有performance impact的数据么
性能肯定会影响,具体数据还没测
跟我之前做的很像啊 https://github.com/qhd/ANYMethodLog
你俩的源码都大致看了下,实现上主要差别是:
1.楼主把类及实例方法的实现都交换给了 _objc_msgForward
,然后在每个类/元类都加上了forwardInvocation:
方法:
`class_addMethod(hookClass, @selector(forwardInvocation:), forwardInvocationImpl, "v@:@");`
利用objc_msgSend的快速消息转发机制来实现调回原方法。
2.你的是直接一点,把类及实例方法的实现交换,在新实现里调回原方法。
怕怕,我应该没说错吧。
没错。 其实我的dev分支也是用了_objc_msgForward,有些小问题还没合并到master
我只能说有好东西要分享,不然我就省力了。
怎么使用呢?我的意思是,在什么时机调用这个方法?
新建了一个logos编译的dylib,使用这个并不管用(hook了某个应用的didFinishLaunchingWithOptions,里面执行[BigBang hookClass:@“某个viewcontroller”]),如果是连同应用一起编译这个类,调用是管用的。是什么原因?
发现早就star过你写的东西了
你分享过?
已解决,原来打印信息在终端可以显示,之前使用xcode里console没有显示
你这种人真不要脸,人家分享出来就说人家抄袭你的,你早期分享出来的帖子拿出来,让大家看看,证据没有就不要脸的说
看见别人的帖子,就往自己脸上贴金,敢问你的证据呢?
他哪说抄袭了?哪来的道德卫士?
那他的话的意思是“ 跟我之前做的很像啊 https://github.com/qhd/ANYMethodLog”是什么,无非是我比较牛逼,看来是抄袭我的
上面别人都分析了实现都不一样啊
这句就透露,就看不惯,自己不分享出来,在人家帖子下认领别人的东西
傻逼
弱弱地问一下,怎么在终端显示打印的