作用
Reveal是一個iOS程序界面調試工具。使用Reveal,我們可以在iOS開發時動態地查看和修改應用程序的界面。
對于動態或復雜的交互界面,手寫UI是不可避免的。通過Reveal,我們可以方便地調試和修改應用界面,免去了每次修改代碼后重新啟動的痛苦
Reveal簡介
Reveal (http://revealapp.com/) 是一個界面調試工具。使用Reveal,我們可以在iOS開發時動態地查看和修改應用程序的界面。它類似Chrome的“審查元素”功能,我們不但可以在運行時看到iOS程序的界面層級關系,還可以實時地修改程序界面,不用重新運行程序就可以看到修改之后的效果
在使用時,我們將Reveal連接上模擬器或真機上正在運行的iOS程序,然后就可以查看和調試iOS程序的界面
Reveal的使用
- Reveal官方介紹了好幾種辦法使Reveal連接模擬器,都需要修改工程文件。但如果修改了工程文件,就需要參與項目開發的所有人都裝有Reveal,這其實是相當不友好的。本節要介紹一種不修改任何工程文件的辦法,在實際使用中,這種辦法最簡單方便。該方法的步驟如下
1.首先打開Terminal,輸入 vim ~/.lldbinit 創建一個名為.lldbinit的文件,然后將如下內容輸入到該文件中:
command alias reveal_load_sim expr (void*)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2);
command alias reveal_load_dev expr (void*)dlopen([(NSString*)
command alias reveal_start expr (void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil];[(NSBundle*)[NSBundle mainBundle] pathForResource:@"libReveal" ofType:@"dylib"] cStringUsingEncoding:0x4], 0x2);
command alias reveal_stop expr (void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStop" object:nil];
該步驟其實是為lldb設置了4個別名,為了后續方便操作,這4個別名意義如下:
1.reveal_load_sim 為模擬器加載reveal調試用的動態鏈接庫
2.reveal_load_dev 為真機加載reveal調試用的動態鏈接庫
3.reveal_start 啟動reveal調試功能
4.reveal_stop 結束reveal調試功能接下來,我們在AppDelegate類的 application: didFinishLaunchingWithOptions:
方法中,作如下3步操作(如下圖所示):
下面詳細介紹請點擊鏈接