大家可以从Reveal的官方网站下载Reveal。然后,从iOS应用逆向工程下载破解版文件,破解方法按照里面的说明做就可以了;也可以直接找破解版的Reveal。
使用方法,可以打开Reveal,点击Help -> Integration Guide,它会打开一个网页里面有详细的各种集成方法,如集成方法有Static Linking, Dynamic Loading, CocoaPods。
一.这里我介绍Dynamic Loading里的Load Reveal Without Changing Your Xcode Project这个方法。它有个优点就是你只需要配置一次,所有的项目都不需要再配置就可以使用Reveal,且不需要改变项目配置。但也有个缺点就是只能模拟器调试。如果需要用真机调试建议用CocoaPods。
这个方法实际上就是加了个断点。
步骤如下:
-
在xcode的断点导航处选择Add Symbolic Breakpoint。
-
在Symbol处填写
UIApplicationMain
。 -
点击Add Action,然后填写
expr (Class)NSClassFromString(@"IBARevealLoader") == nil ? (void *)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2) : ((void*)0)
。 -
在Options处勾选Automatically continue after evaluating actions。
-
在添加完的断点处点击右键,选择Move Breakpoint To → User。这个设置可以使所有的项目都可以使用Reveal。如果不设置这一步,那只有当前项目可以使用Reveal。
-
最后,在xcode运行你的项目,运行成功后,切换到Reveal,在左上角选择你的项目,就可以查看App的视图层次结构了。
-
你可以选择3D层次,然后用鼠标双击你想查看的视图,就可以只查看你选中的视图,排除其他视图的干扰。在右边的面板Identity Inspector里面可以查看该视图属于哪个类,这是我认为很有用的一个功能,可以使你快速找到当前界面属于哪个类文件。
-
你也可以在左边的面板里改变视图相关的属性,在模拟器里就会按照你的设置来显示视图,方便UI布局,而不用每次在代码里设置好,跑一次代码才能看到效果。