應(yīng)用場(chǎng)景
非越獄手機(jī)進(jìn)行查看其他APP的布局。
系統(tǒng)環(huán)境
ios 10.3.3 Xcode 8.3.3
準(zhǔn)備
需要安裝集成插件來支持非越獄環(huán)境,推薦AloneMonkey集成插件,安裝步驟詳細(xì)請(qǐng)看插件wiki,同時(shí)有其他小插件可以體驗(yàn)下。
安裝步驟
安裝最新的theos(可以理解為越獄開發(fā)工具包)
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項(xiàng)目如下:
3073942D-F550-4E10-9EF1-CAC73DEC21AD.png
需要準(zhǔn)備一個(gè)已經(jīng)越獄的APP的ipa,拖到項(xiàng)目中的TargetApp,編譯即可。
593BE5A1-4F94-4876-8B87-F522165864AA.png
Xcode8需要通過Build Phases指定動(dòng)態(tài)庫。
9DBE568E-9D78-4FC0-BDE5-B88141FEC76F.png
Xcode運(yùn)行, 打開Debug View Hierarchy就可以看到APP的布局,這樣就可以很方便的查看其他APP的布局了。
以高德地圖為例:
1420D62E-7EC6-47ED-84DF-5208BF25C040.png
可以清晰的看出高德地圖首頁的大致布局,同時(shí)也可以通過Chisel命令查看當(dāng)前頁面層級(jí)關(guān)系。
(lldb) pvc 查看當(dāng)前控制器
<AMNavigationController 0x105854600>, state: appeared, view: <UILayoutContainerView 0x104854460>
| <NMMapViewController 0x104b25420>, state: appeared, view: <AMCommonContentBackgroundView 0x104b052b0>
(lldb)
完整項(xiàng)目Github