日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Reveal:分析iOS UI该武器

發(fā)布時(shí)間:2025/4/9 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Reveal:分析iOS UI该武器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Reveal是分析iOS應(yīng)用UI的利器:

Reveal可以在執(zhí)行時(shí)調(diào)試和改動(dòng)iOS應(yīng)用程序。它能連接到應(yīng)用程序,并同意開(kāi)發(fā)人員編輯各種用戶界面參數(shù)。這反過(guò)來(lái)會(huì)馬上反應(yīng)在程序的UI上。就像用FireBug調(diào)試HTML頁(yè)面一樣。在不須要重寫代碼、又一次構(gòu)建和又一次部署應(yīng)用程序的情況下就行調(diào)試和改動(dòng)iOS用戶界面。--InfoQ

Reveal執(zhí)行在Mac上。眼下的最新版本號(hào)是1.0.4,能夠從這里下載,要求Mac OS X 10.8及以上,iOS 6以及以上。

如今正式版本號(hào)能夠下載試用30天,試用期后須要購(gòu)買。有須要的話能夠買一個(gè),功能相當(dāng)強(qiáng)大。

Reveal的功能

查看iOS應(yīng)用的View層次結(jié)構(gòu)

使用Reveal的效果如圖:?

圖中最左側(cè)能夠看到View的名稱。中間是View的3D展示效果,能夠很清楚的看到View的層次結(jié)構(gòu)。

改動(dòng)參數(shù)后無(wú)需編譯就可以看到效果

Reveal還有一個(gè)很實(shí)用的功能就是動(dòng)態(tài)改動(dòng)參數(shù),無(wú)需編輯動(dòng)態(tài)查看效果。例如以下圖所看到的:

顯示出UILabel和UIView的關(guān)鍵屬性值,更重要的是,這些都能夠動(dòng)態(tài)改動(dòng)。比方我們改成測(cè)試,例如以下圖:?

把當(dāng)中的圖片的寬度從80改成50。改之后的效果如圖:

下圖箭頭所指向的對(duì)方都能夠動(dòng)態(tài)改動(dòng)。

關(guān)于Reveal的很多其它功能,歡迎大家去探索并分享。

以下介紹Reveal怎樣集成到iOS應(yīng)用中去調(diào)試。

Reveal的3種載入方法

載入方法(1)

下載Reveal之后打開(kāi),在菜單中的Help中能夠找到集成到Xcode項(xiàng)目的方法,這里不再贅述。

載入方法(2)

Integrating Reveal without modifying your Xcode project?
reveal: 檢視 iOS app 的 view 結(jié)構(gòu)。?
給出了怎樣不用改動(dòng)Xcodeproject就能夠載入使用Reveal的方法。

在當(dāng)前用戶文件夾新建一個(gè)文件.lldbinit,位于~/.lldbinit。LLDB每次啟動(dòng)的時(shí)候都會(huì)載入這個(gè)文件。

在.lldbinit中輸入例如以下內(nèi)容:

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];

上述文件創(chuàng)建了4個(gè)命令:

reveal_load_sim,reveal_load_dev, reveal_start 和 reveal_stop
  • reveal_load_sim?這個(gè)僅僅在iOS模擬器上有效。

    它從Reveal的應(yīng)用程序bundle中找到并載入libReveal.dylib(請(qǐng)確保你把Reveal安裝到了系統(tǒng)的Application目錄,假設(shè)你換地方了。你改動(dòng)上述的文件)。

  • reveal_load_dev?這個(gè)命令在iOS設(shè)備和模擬器上都有效。只是。它須要你在Build Phase中的的Copy Bundle Resources中加上libReveal.dylib。請(qǐng)確保沒(méi)有放到Link Binary With Libraries這個(gè)地方。

  • reveal_start?這個(gè)命令發(fā)出一個(gè)通知啟動(dòng)Reveal Server。

  • reveal_stop?這個(gè)命令發(fā)出一個(gè)通知停止Reveal Server。

請(qǐng)注意:僅僅有在iOS應(yīng)用發(fā)出了UIApplicationDidFinishLaunchingNotification通知之后。比方應(yīng)用的delegate已經(jīng)處理過(guò)application::didFinishLaunchingWithOptions:之后才干調(diào)用上面的reveal_load_*命令。然后再調(diào)用reveal_start

在設(shè)備起來(lái)之后,你就能夠斷下應(yīng)用。在LLDB提示框中輸入上述的命令了。

上述的過(guò)程還須要手動(dòng)輸入。以下介紹怎樣設(shè)置條件斷點(diǎn),使得Reveal在啟動(dòng)之后自己主動(dòng)載入。

在你的應(yīng)用的application:didFinishLaunchingWithOptions 中的代碼出加一個(gè)斷點(diǎn),然后右鍵,選擇編輯斷點(diǎn)。

輸入例如以下圖一樣的命令:

又一次執(zhí)行下應(yīng)用。假設(shè)控制臺(tái)輸出了例如以下信息:

Reveal server started.

說(shuō)明Reveal已經(jīng)自己主動(dòng)成功載入。

載入方法(3)

Reveal查看隨意app的高級(jí)技巧介紹了怎樣在越獄設(shè)備上查看隨意app的技巧:

  • iOS設(shè)備須要越獄,iOS6以上
  • 安裝Reveal,越獄設(shè)備與安裝Reveal的Mac在同一wifi內(nèi)。
  • 點(diǎn)擊菜單Help / Show Reveal Library in Finder。獲取libReveal.dylib
  • 將libReveal.dylib上傳到設(shè)備的/Library/MobileSubstrate/DynamicLibraries
  • 編輯并上傳一個(gè)libReveal.plist。格式和/Library/MobileSubstrate/DynamicLibraries以下的其它plist類似,當(dāng)中的filter的bundle寫要查看的iOS App的bundle Id。 格式例如以下:

    { Filter = { Bundles = ( "你要查看的app的bundle Id" ); }; }

  • 重新啟動(dòng)iOS設(shè)備

小結(jié)

本文簡(jiǎn)要介紹了Reveal的功能和幾種載入方法。

歡迎大家去體驗(yàn)下Reveal的強(qiáng)大功能。最后,能夠看看關(guān)于Reveal的tips:Reveal tips: Navigation。

轉(zhuǎn)載于:https://www.cnblogs.com/blfshiye/p/4593269.html

總結(jié)

以上是生活随笔為你收集整理的Reveal:分析iOS UI该武器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美一区二区日韩 | 国产视频一区二区三区在线播放 | 日韩av中文字幕在线播放 | 亚洲国产精品激情在线观看 | 欧美人与物videos另类 | 毛片女人| 亚洲中文字幕97久久精品少妇 | 手机av在线看 | 国内精品在线播放 | 亚洲区国产区 | 91香蕉一区二区三区在线观看 | 亚洲字幕av一区二区三区四区 | 大尺度床戏揉捏胸视频 | av在线播放一区 | 狠狠97| 亚洲色成人一区二区三区小说 | 美女av影院 | 中国一级片在线观看 | 自拍天堂| 伊人精品视频在线观看 | 国产成人午夜视频 | 91操人视频| 天天干夜夜欢 | 在线午夜av| 国产粉嫩av | 欧美少妇色图 | 日韩精品一区二区三区四区五区 | 自拍在线视频 | 国产精品高潮呻吟久久av野狼 | 国产精品入口66mio男同 | 97精品在线视频 | 永久免费视频网站 | 亚洲色精品三区二区一区 | 欧美 日韩 国产 在线观看 | 亚洲区av| 99视频在线看 | 性喷潮久久久久久久久 | 国产一级性生活 | 日本一区二区免费高清视频 | 亚洲第一综合网 | 成人午夜激情影院 | 国产第一区第二区 | 91网站免费视频 | 中文字幕综合在线 | 96av在线视频| 欧美日韩精品久久 | 丰满大乳奶做爰ⅹxx视频 | 老司机精品视频在线 | 岛国裸体写真hd在线 | 久久天堂av| 日韩精品一区二区三区免费视频 | 久草综合视频 | 男女插孔视频 | 国产免费a级片 | 国产一区二区三区乱码 | 一区二区三区国产在线 | 久一在线视频 | 老司机午夜精品 | 69av国产| 色玖玖综合 | 男人天堂手机在线观看 | 老司机午夜免费视频 | 亚洲乱亚洲 | 福利资源在线观看 | 人人妻人人澡人人爽精品欧美一区 | 黄色美女大片 | 淫片aaa| 一区二区三区免费毛片 | 一本到在线视频 | 岛国精品一区二区 | 中文字幕 人妻熟女 | 免费看成人| 成人综合区一区 | 久久激情视频 | 大奶子在线 | av在线不卡播放 | 人妻av中文系列 | xzjzjzjzjzj欧美大片 | 亚洲911精品成人18网站 | 日日躁夜夜躁 | 欧美色久 | 欧美亚洲图片小说 | 寂寞d奶大胸少妇 | 久久99精品久久久水蜜桃 | 中文字幕日韩无 | 国产乱码精品一区二区三区忘忧草 | 亚洲国产精品成人无码区 | 黄视频免费观看 | 国产美女引诱水电工 | 亚洲成a人 | 68日本xxxxxⅹxxx22 | 九九黄色片 | 香港一级淫片免费放 | 男生裸体视频网站 | 国产高清视频一区 | ww久久| 最新在线黄色网址 | 五月网 | 国产在线日本 |