![]() ![]() ![]() It will also generate headers for classes Apple does not expose in the framework’s headers containing private implementation details. ![]() You can use class-dump to generate header files for libraries for which you do not have source. Here is an object diagram including you saw in the previous tutorial of what you’ve discovered so far and this working hypothesis.Ĭlass-dump is a “command-line utility for examining the Objective-C runtime information stored in Mach-O files”. This hidden delegate object implements all of the UIScrollViewDelegate methods and forwards those methods both to the web view and to your delegate, favoring the return values from your delegate in methods like viewForZoomingInScrollView: that return values. Hypothesis: _UIWebViewScrollViewDelegateForwarder is somehow a sort of hidden delegate of the scroll view. Some third party tools can help you to dig deeper into their implementation. UIWebView and its constituent objects are closed-source. You can find out by using reverse engineering tools to inspect the UIKit library itself. How does the delegate forwarder work? By what specific mechanism does both the web view and the scroll view’s delegate receive these callbacks and how does the delegate forwarder insinuate itself between the scroll view and these objects? In the previous tutorial you used LLBD to gain insight as to whether and how you might become the delegate of UIWebView‘s scrollView while learning some tips and tricks for using LLDB to discover how to insert code into the UIScrollViewDelegate methods of the UIWebView without getting in the way of Apple’s implementation of the UIWebView‘s handling of the UIScrollViewDelegate methods. ![]()
0 Comments
Leave a Reply. |