之前我寫了幾篇IOS進階文章介紹了開發(fā)必不可少的JSPatch以及YYKit系列。這次我又發(fā)現(xiàn)了一個UI界面調(diào)試神器Reveal。最近剛升級到XCode8,項目中很多UI在IOS10中顯示不正常,光從代碼層面很難分析出原因。在Reveal的幫助下,很快就分析出了原因。就我親身經(jīng)歷來看,Reveal有下面幾個優(yōu)點:
不用重新運行編譯就能改變模擬器上的界面(每次都編譯實在是浪費了不少時間,特別是在有xib的情況下)
可以查看修改約束(內(nèi)容比Xcode自帶的界面調(diào)試更多,甚至能修改)
越獄后可以查看別人的app布局
安裝Reveal
Reveal是收費的,提倡正版,網(wǎng)上也有很多破解版,可以自行查找。
1、從官網(wǎng)下載Reveal下載地址。我下載的是1.5.1版本。
2、打開Reveal,點擊 Help → Show Reveal Library in Finder。
3、將Reveal.framework文件拖入工程內(nèi)(左側(cè)是真機,右側(cè)是模擬器)。
4、點擊Build Phases 然后從Link Binary With Libraries 刪除Reveal.framework。
5, 然后選中Build Settings 在搜索欄中輸入 Other Linker Flags。選中Other Linker Flags
在Other Linker Flags中輸入下面代碼 :-ObjC -lz -framework Reveal
6、運行模擬器,然后打開Reveal。
Reveal的使用
Reveal的界面和xcode8自帶的UI調(diào)試界面很相似,左側(cè)是各個視圖和約束,右側(cè)是層狀結(jié)構(gòu),可以雙擊聚焦到某一視圖上。類似于開發(fā)界面,有frame、bounds,等基本屬性和Xcode的很像。
最神奇的地方是這里的值可以自己修改,修改完畢后模擬器也會跟著改變。刷新Reveal快捷鍵是command + r。
有了這些功能我們就可以快速定位UI問題,并針對解決。比如說我們公司項目升級到IOS10的時候,有個view并沒有出現(xiàn),而在IOS9上顯示正常,同一份代碼很難查出原因。進過Reveal調(diào)試我發(fā)現(xiàn)這個cell的ContentView的frame.width居然在IOS10下為0。。不知道是不是IOS10的bug。于是加上個寬度約束就顯示了。
參考
- 參考文章:文章
我是翻滾的牛寶寶,歡迎大家評論交流~