应用场景
非越狱手机进行查看其他APP的布局。
系统环境
ios 10.3.3 Xcode 8.3.3
准备
需要安装集成插件来支持非越狱环境,推荐AloneMonkey集成插件,安装步骤详细请看插件wiki,同时有其他小插件可以体验下。
安装步骤
安装最新的theos(可以理解为越狱开发工具包)
sudo git clone --recursive https://github.com/theos/theos.git /opt/theos
指定的Xcode安装
sudo xcode-select -s /Applications/Xcode-beta.app
安装命令
git clone https://github.com/AloneMonkey/MonkeyDev.git
cd MonkeyDev/bin
sudo ./md-install
使用说明
新建Xcode项目如下:
需要准备一个已经越狱的APP的ipa,拖到项目中的TargetApp,编译即可。
Xcode8需要通过Build Phases指定动态库。
Xcode运行, 打开Debug View Hierarchy就可以看到APP的布局,这样就可以很方便的查看其他APP的布局了。
以高德地图为例:
可以清晰的看出高德地图首页的大致布局,同时也可以通过Chisel命令查看当前页面层级关系。
(lldb) pvc 查看当前控制器
<AMNavigationController 0x105854600>, state: appeared, view: <UILayoutContainerView 0x104854460>
| <NMMapViewController 0x104b25420>, state: appeared, view: <AMCommonContentBackgroundView 0x104b052b0>
(lldb)
完整项目Github