Reveal——調(diào)試UI的逆天神器

最近翻閱簡書,看到之前有人介紹Injection Plugin for Xcode插件,直接修改某一行代碼,F(xiàn)5一下就可以刷新,不用Com+R運行看效果了,節(jié)省了大量時間有木有啊,但是夢想是美好的,現(xiàn)實是殘酷的,我安裝了插件之后,修改了界面上的Label的顯示內(nèi)容,執(zhí)行control+=,進度條閃過,但是界面沒有改,這是什么鬼?難道是Xcode 7.3不支持,后來問了簡書這篇文章的作者,發(fā)現(xiàn)是當(dāng)前界面是不會刷新的,得需要重新進入界面。。。好吧,果斷卸載了,這時候突然腦海中閃出一個模糊的印象,好像之前用過一個工具,對UI上的層的顯示很清晰直觀,可以很方便的用于UI的調(diào)試,用來學(xué)習(xí)UI的使用也是無上利器,這個工具就是Reveal。

Reveal下載地址

這個軟件是付費軟件,但是有30天的試用,如果大家覺得好用的話,可以再購買。但是剛才在搜Reveal破解的時候,發(fā)現(xiàn)已經(jīng)有人在分享了

分析iOS UI的利器Reveal安裝破解教程

一: 安裝reveal很簡單,只需要把framework導(dǎo)入工程即可。

1,打開Reveal工具,點擊左上角工具欄的help選項,然后選擇Show Reveal Library in Finder,這樣就會看到RevealApp里面的庫。

點擊Show Reveal Library in Finder


選擇第一個導(dǎo)入

2.打開Xcode,然后將Reveal.framework加入工程,在彈出框中選中Copy items if needed

導(dǎo)入工程

3.修改工程的「Build Settings」下的「Other Linker Flags」的對應(yīng)的值為「-ObjC」

Other Linker Flags

4 .Com + R 運行一下,如果報錯的話,需要引入「libz.dylib」庫,然后重新運行工程,就OK了。

導(dǎo)入libz庫
哈哈,可以調(diào)試了

5.運行成功后,打開Reveal,左上角的就會顯示你運行的工程

這樣就可以調(diào)試了,在Reveal里面修改,回車就可以看到效果了,我是在模擬器里面運行的,也可以真機調(diào)試,但是真機必須與電腦是在同一個網(wǎng)絡(luò)里面。

調(diào)試

二:還有一種方法是不用將Reveal.framework導(dǎo)入工程內(nèi)就可以調(diào)試的。

1.點擊左上工具欄的View -->Navigators --> Show Breakpoint Navigator .

第一步

2.點擊左下角的加號,選擇Add Symbolic Breakpoint

第二步

3. 在Symbol輸入?yún)^(qū)內(nèi)輸入UIApplicationMain 點擊Add Action按鈕, 確認(rèn)Action被設(shè)置為Debugger Command。

4. 將expr (Class)NSClassFromString(@"IBARevealLoader") == nil ? (void *)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2) : ((void*)0)拷貝至action 的輸入?yún)^(qū)

5.選中Automatically continue after evaluating actions選項。效果如下:

設(shè)置如上

6. 右擊剛才新創(chuàng)建的斷點,選擇Move Breakpoint To → User

Move Breakpoint To → User

好了,運行成功后,打開Reveal,左上角的就會顯示你運行的工程。效果如上面的GIF一樣,是不是很神奇。

最最強悍的是,有人研究出了用Reveal來觀看任意app的UI方法,而且也不復(fù)雜,這個屬于逆向工程的范疇了,在UI的學(xué)習(xí)上還是不錯的

Reveal查看任意app的高級技巧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容