人與人之間的差距辩昆,在于比較板熊。自己開發(fā)的app和京東框全、淘寶等用戶量超大的app相比之下遜色不少,作為一個(gè)有為青年--不能忍干签,但你想進(jìn)去學(xué)習(xí)還不是那么容易津辩,所以只能自己慢慢摸索他們是怎么做的,用的什么UI框架容劳。重點(diǎn)來了喘沿,reveal他們的app。
一竭贩、越獄你的iOS設(shè)備:
我用的pp助手蚜印,在windows系統(tǒng)上把4s越獄了,iOS程序員越獄對(duì)手機(jī)無(wú)任何影響開發(fā)調(diào)試照常。
二留量、安裝 OpenSSH 和 Lydia Substrate
1窄赋、安裝OpenSSH,打開越獄后的設(shè)備上的Cydia程序楼熄,點(diǎn)擊搜索輸入OpenSSH忆绰,然后點(diǎn)擊安裝。
我在安裝OpenSSH時(shí)并沒有搜索到可岂,下載一個(gè)源之后才安裝成功错敢。
2、安裝Cydia Substrate缕粹,打開越獄后的設(shè)備上的Cydia程序稚茅,點(diǎn)擊搜索輸入Cydia Substrate,然后點(diǎn)擊安裝致开。
MobileSubstrate是一個(gè)公共庫(kù)峰锁,可以用來動(dòng)態(tài)替換內(nèi)存中的代碼萎馅、數(shù)據(jù)等双戳。基本上越獄機(jī)下比較有用的系統(tǒng)工具都需要這個(gè)庫(kù)糜芳,是Cydia同一個(gè)作者維護(hù)的飒货,可以放心裝魄衅。
三、將libReveal.dylib上傳到越獄后的設(shè)備
將libReveal.dylib上傳到越獄后的設(shè)備的/Library/MobileSubstrate/DinamicLibraries下塘辅。上傳libReveal.dylib文件必須使用到上面安裝的OpenSSH工具晃虫。如果想要使用OpenSSH工具,那么就必須將Reveal軟件所在的mac設(shè)備與越獄后的iOS設(shè)備置于同一個(gè)局域網(wǎng)內(nèi)扣墩。首先來測(cè)試OpenSSH是否安裝成功哲银。獲取越獄后的設(shè)備的局域網(wǎng)內(nèi)的IP地址,打開“設(shè)置”->“WLAN”呻惕,連上局域網(wǎng)荆责,然后再點(diǎn)擊連接上的局域網(wǎng)查看iOS設(shè)備的IP地址。
1亚脆、打開mac上的終端工具(Terminal)做院,輸入如下命令:ssh root@iOS設(shè)備IP地址。輸入完成后回車濒持,等待連接iOS設(shè)備键耕。
iOS設(shè)備的IP地址指的是越獄后的設(shè)備(iphone、ipad)的IP地址柑营,也就是上個(gè)步驟中獲取的IP地址屈雄,后面的教程中出現(xiàn)的地址僅僅是代表筆者測(cè)試時(shí)iOS設(shè)備的IP地址(192.168.2.2),讀者請(qǐng)一定要查看自己的iOS設(shè)備地址官套,并進(jìn)行替換棚亩。
接下來會(huì)提示你輸入root用戶的密碼,iOS設(shè)備root用戶的默認(rèn)密碼是alpine虏杰,在終端中輸入密碼時(shí)讥蟆,終端不會(huì)顯示你輸入的字符,所以只需要輸入alpine字符后回車就可以請(qǐng)求連接iOS設(shè)備了纺阔。
如果出現(xiàn)~ root#字符就表示連接成功了瘸彤。
2、上傳libReveal.dylib笛钝。重新打開mac上的終端工具(Terminal)质况,使用如下命令進(jìn)入Reveal軟件的動(dòng)態(tài)庫(kù)所在目錄:
cd /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries
使用如下命令將libReveal.dylib上傳到iOS設(shè)備的/Library/MobileSubstrate/DynamicLibraries目錄下:
scp libReveal.dylib root@iOS設(shè)備IP地址:/Library/MobileSubstrate/DynamicLibraries/
請(qǐng)?zhí)鎿Q@之后的“iOS設(shè)備的IP地址”為你的iOS設(shè)備的真實(shí)地址,回車執(zhí)行命令后會(huì)讓你輸入iOS設(shè)備的root的密碼玻靡,默認(rèn)是alpine结榄,上傳成功后會(huì)顯示%100字樣。
3囤捻、 上傳一份libReveal.plist到iOS設(shè)備的/Library/MobileSubstrate/DynamicLibraries目錄中臼朗。
這個(gè)文件的作用是:在Reveal中監(jiān)控指定的App,不上傳這個(gè)文件也是可以的,那么Reveal就會(huì)監(jiān)控所有的App视哑,只是這樣速度會(huì)慢一點(diǎn)點(diǎn)绣否。編寫libReveal.plist文件,最簡(jiǎn)單的方法就是新建一個(gè)plist文件挡毅,它的內(nèi)容是{ Filter = { Bundles = ( "你要查看的app的bundle Id1","你要查看的app的bundle Id2" ); }; }
xcode下打開這個(gè)libReveal.plist文件可以看到它的結(jié)構(gòu)示例:
關(guān)于獲取iOS App應(yīng)用的Bundle ID
最簡(jiǎn)單的方法是:用iTunes下載應(yīng)用蒜撮,然后在文件中打開,簡(jiǎn)單暴力跪呈。
4段磨、上傳libReveal.plist到iOS設(shè)備的/Library/MobileSubstrate/DynamicLibraries目錄中。打開終端進(jìn)入libReveal.plist所在的目錄耗绿,使用如下命令上傳:
scp libReveal.plist root@iOS設(shè)備的IP地址:/Library/MobileSubstrate/DynamicLibraries/
請(qǐng)?zhí)鎿Q@之后的“iOS設(shè)備的IP地址”為你的iOS設(shè)備的真實(shí)地址薇溃,回車執(zhí)行命令后會(huì)讓你輸入iOS設(shè)備的root的密碼,默認(rèn)是alpine缭乘,上傳成功后會(huì)顯示%100字樣沐序。
5、接下來在重啟你的iOS設(shè)備堕绩,連上mac電腦所在的局域網(wǎng)策幼,上打開你需要在Reveal中觀察的程序,此時(shí)在mac電腦上的Reveal中選擇你要觀察的程序奴紧。