1. 程式人生 > >Reveal的使用--整理自唐巧的《iOS開發進階》

Reveal的使用--整理自唐巧的《iOS開發進階》

1.下載一個正版的reveal來安裝。

2.開啟終端,輸入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*)[(NSBundle*)[NSBundle mainBundle]               pathForResource:@"libReveal" ofType:@"dylib"] cStringUsingEncoding:0x4], 0x2);

command alias reveal_start expr (void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter]           postNotificationName:@"IBARevealRequestStart" object:nil];

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除錯功能。

3.在AppDelegate類的application:(UIApplication *)application didFinishLaunchingWithOptions:方法中接入下面3個操作,如下如

1) 增加一個斷點,右擊斷點,選擇"Edit BreakPoint".

2) 單擊"Action"右邊的"Add Action",然後輸入"reveal_load_sim".

3) 勾選上"Options"上的“Automatically continue after evaluating actions”選項。


之後執行我們執行模擬器,開啟reveal,就可以在reveal介面左上角看到有模擬器可以選擇除錯,選擇它,則可以在reveal中檢視除錯iOS程式的介面了。

4.用revea連線真機(補充:似乎現在這個方法已經不生效了)

要用reveal連線真機除錯,我們需要先把reveal的動態連結庫上傳到真機上。由於iOS裝置有沙盒存在,所以我們只能將reveal的動態連結庫新增到工程裡。

1)選擇reveal選單欄的"Help"->"Show Reveal library in Finder"選項,可以在Finder中找到Reveal的動態連結庫libReveal.dylib.

2)將該檔案拖到工程裡,Xcode預設將libReveal.dylib設定到"Link Binary With Libraries",我們需要進行調整,將"Link Binary With Libraries"中的libReveal.dylib刪除,再將其新增到"Copy Bundle Resources"下面。

3)之後用Reveal連線真機的方式和連線模擬器的方式類似,我們只需把上面提到的斷點Action的內容從reveal_load_sim改成reveal_load_dev即可。

補充:1.關於正版reveal的使用

reveal時收費的,所以。。。,它有30天的試用期,到30天過期後,到~/Library/Preferences/com.ittybittyapps.Reveal.plist,把這個plist檔案刪除,然後重啟電腦,就可以了。雖然麻煩點兒,將就著使吧。

2.在打包上傳的時候libReveal.dylib是需要刪除的,不然會報錯。