iOS開發調試Reveal使用


Reveal 功能強大,針對UI調試,可免去大量修改在重啟虛擬的步驟。

  1. 下載Reveal (http://revealapp.com)
  2. 破解Reveal (Google)
  3. 項目集成Reveal (官方中文文檔)
  4. 越獄查看其它APP (使用Reveal查看任意App的技巧

以下基於Reveal 1.6。

 

用於快速上手的內置應用

最快速地上手Reveal

Help 菜單項中,點擊 Inspect Sample App ,稍微等一會,Reveal會將Soundstagram應用拷貝到你的iPhone模擬器中,並自動打開應用,自動連上開始Debug。一鍵搞定,你馬上就會看到活的Reveal了。

活的Reveal

 

集成

對於專業的iOS工程師(可是連我們的設計師也毫不留情地采用了這種配置),我個人強烈推薦通過Xcode中加斷點的方式集成Reveal。一次配置,終生受益,無論到哪個項目,簡直太方便了,有木有。(小缺陷,當你禁用斷點時或者不用Xcode而用Appcode開發時,這個方式是不管用的。)

Xcode中加斷點

  1. 打開您的iOS工程,選擇 View → Navigators → Show Breakpoint Navigator
  2. 在面板左下角,點擊 + 按鈕並選擇 Add Symbolic Breakpoint... 。
  3. Symbol 輸入區內輸入 UIApplicationMain
  4. 點擊 Add Action 按鈕, 確認 Action 被設置為 Debugger Command
  5. 將以下內容拷貝到 Action 的輸入區內: (注意: 請確認Reveal.app的路徑信息符合您Mac的實際位置。)
    expr (Class)NSClassFromString(@"IBARevealLoader") == nil ? (void *)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2) : ((void*)0)
  6. 選中 Automatically continue after evaluating actions 選項。
  7. 完成上述步驟以后,在新創建的斷點上面點擊右鍵,彈出如下菜單並選擇,如下圖所示:(以后無論分析任何項目,都可以直接啟動Reveal 並分析。)

      Move Breakpoint To

現在啟動一個項目調試,Xcode控制台會輸出如下log,表明配置正確,Reveal已經可以正常啟動使用,如下圖所示:

啟動一個項目調試

接下來啟動Reveal,如下圖操作:

 

常用的快捷鍵

請到 _Help -> Keyboard Shortcuts 中查看詳細列表。

快捷鍵用戶

 

自動布局的調試

自動布局(Auto Layout)已經越來越普遍的深入千家萬戶了,隨着iOS設備分辨率的多(sui)樣(pian)化,自動布局已慢慢成為了標准配置。

有了Reveal,這就方便多了。Reveal對視圖上的約束條件提供了相當豐富的檢視與實時修改功能,具體看下面這張圖,再自己摸索一下就好了。

自動布局的調試

顯示/隱藏所有約束條件 a 顯示/隱藏所有約束條件

查看關聯到此View的所有約束 b 查看關聯到此View的所有約束

可以直接在Canvas中選中某一約束 c 可以直接在Canvas中選中某一約束

查看某一約束的具體信息,可以實時修改constant屬性,立刻檢查效果 d 查看某一約束的具體信息,可以實時修改constant屬性,立刻檢查效果

跳轉到某一約束的詳細屬性頁面e 跳轉到某一約束的詳細屬性頁面

 

實時修改View屬性

Reveal不僅僅只是查看各種屬性的工具,也支持實時的修改一些屬性。如下圖中的大部份屬性,你都可以實時的在模擬器中看到修改后的效果。這省去了過去總是要修改代碼,重新編譯運行這個漫長的反饋流程。在和設計師一起嘗試各種顯示效果時,這個功能特別高效。

實時修改View屬性

 

Snapshot

Reveal還具有保存現場的功能(快捷鍵,⌘ s),它將保存應用的截圖,所有View的層級結構和具體屬性信息。換句話說,下次你打開這個Snapshot文件時,不需要啟動iOS應用,也可以看到所有的視圖信息。

一些可能的使用場景:你可以在描述布局問題時,給其他團隊成員分享Snapshot;還可以對不同大小的模擬器分別保存Snapshot,然后再做詳細地比較,找出問題所在。

Snapshot


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM