草庐IT

swizzling

全部标签

ios - IOS 上的 Swizzling 低级 TCP 方法

我正在尝试找到一种方法来获取有关进出我的IOS应用程序的所有TCP流量的信息。该应用程序非常简单,由单个UIWebView对象组成。我尝试在NSURLRequest上使用swizzling但运气不佳-我的requestWithURL:版本在我手动调用NSURLRequest时被调用,但在转到页面时似乎从未被调用UIWebView,所以我猜它在幕后使用了不同的对象。所以我想尝试连接到CFSocket函数中,但这些函数不是类的一部分,所以我不确定如何调配它们(或者如果可能的话)。是否有任何方法可以挂接到IOS上的C函数,或者我可以尝试调配以访问TCP(甚至HTTP)流量的任何其他API?我

ios - 有什么方法可以列出 iOS 应用程序中的所有 swizzled 方法吗?

我本质上是在寻找一种方法来检测第三方库何时/哪些第三方库出现问题。我最近遇到了一个广告库使用AFNetworking的古怪分支的情况。AFNetworkingswizzlesNSURLSessionTask,这两个swizzles在某些情况下表现不佳。我真的很想能够检测和健全检查这类事情,理想情况下甚至在应用程序中保留每个混合方法的版本转储,这样我们就可以了解谁在修补什么以及风险是什么。Google和stackoverflow搜索只找到了一堆关于如何调配的教程。有人遇到这个问题或有解决方案吗?看起来我可以使用objc/runtime.h编写一些代码,但我无法想象我是第一个需要它的人。