前言
本文主要講述怎樣獲得其他優(yōu)秀的iOS應(yīng)用的圖片資源,以及解決了12.7版本的iTunes不能下載應(yīng)用的問(wèn)題。
最近看一個(gè)開(kāi)發(fā)的視頻,作者為了模仿一個(gè)很流行的app, ‘‘盜取’’了這個(gè)app的所有圖片,看的我很驚訝,心想這都可以,被這波操作給 安排 了。?
下面我就給大家分享一下我總結(jié)的經(jīng)驗(yàn)。
一. 首先,我們必須要獲得想要資源的應(yīng)用ipa文件
ipa是Apple程序應(yīng)用文件iPhoneApplication的縮寫(xiě)。簡(jiǎn)單來(lái)說(shuō),Mac 下的iphone軟件,就像是 Windows 下的綠色軟件一樣,解壓后即可使用,不需要安裝,卸載的話也只用刪除程序文件即可。熟悉IOS開(kāi)發(fā)的都應(yīng)該了解,當(dāng)你想要上傳內(nèi)測(cè)版本的app到蒲公英或者是fir上時(shí),最終上傳的都是后綴為.ipa的文件,這個(gè)文件里包含了該應(yīng)用的所有信息,只是蘋果把它壓縮整包了,一部分是不能讓我們看到的,例如源碼。還有一部分是我們可以看到的,那就是該應(yīng)用的所有的圖片資源。
iOS APP中所有資源?=?Assets.car?+?.api文件解壓
1. 先以iTunes為例來(lái)獲取應(yīng)用的ipa文件
當(dāng)你Mac上的iTunes為12.7及以上時(shí),你會(huì)發(fā)現(xiàn)蘋果將iTunes里的應(yīng)用下載的功能移除掉了。這我就日了狗了,那我該怎么下載應(yīng)用的ipa文件呢? 在網(wǎng)上說(shuō)有很多種軟件可以下載,例如PP助手,iTools,但是我都試了,都不太好用。最終我還是決定繼續(xù)用iTunes來(lái)實(shí)現(xiàn)。
在論壇里找到一個(gè)解決的辦法非常好用,既然12.7移除了,那我們就下載沒(méi)有移除的版本唄。
① 前往Apple Developer的下載管理界面
按照上圖的方式下載版本為12.6的iTunes,這個(gè)版本就是沒(méi)有移除應(yīng)用下載功能的。
② 下載完成之后,當(dāng)你想安裝的時(shí)候會(huì)發(fā)現(xiàn),提示 已經(jīng)有更高版本的iTunes了 ,既然想要套狼,那就不能舍不得孩子。想要安裝低版本的iTunes,前提必須將高版本的iTunes刪除。
③ 當(dāng)你想要?jiǎng)h除高版本的iTunes時(shí),你用正常刪除軟件的方式是不行。系統(tǒng)會(huì)提示你不允許你這樣操作。那么我換一種方式,用root權(quán)限刪除呢。
1.0 打開(kāi)終端
2.0 切換到root權(quán)限? 輸入 $? sudo -i? ?回車 輸入電腦密碼(password)
3.0 進(jìn)入到Applications目錄下 輸入 $??cd /Applications/?
4.0 展示所有應(yīng)用的列表 輸入 $? ls
紅框內(nèi)的iTunes.app就是我們想要?jiǎng)h除的應(yīng)用
5.0 嘗試刪除iTunes.app 輸入 $ rm -rf iTunes.app? ?回車 會(huì)提示?Operation not permitted 同樣是操作不被允許,這個(gè)是Mac OS對(duì)系統(tǒng)的安全防護(hù)。
下面我們需要暫時(shí)接觸安全防護(hù)限制策略才能完成刪除的操作,csrutil disable命令可以解除此限制,但是通過(guò)命令詳情可以看到這種操作需要在恢復(fù)模式下才能使用。
6.0?重啟電腦,按COMMAND+R組合鍵進(jìn)入恢復(fù)模式,找到【實(shí)用工具】-->【終端】,在終端窗口中輸入命令csrutil disable解決權(quán)限限制。
7.0 執(zhí)行完上述操作之后,重啟電腦 ,重復(fù)上述1.0, 2.0,3.0,4.0,5.0操作,如果按照上述所說(shuō)的操作的話,你會(huì)發(fā)現(xiàn)iTunes已經(jīng)成功的被刪除了。刪除成功之后,不用忘了重復(fù)6.0的操作 將Mac OS的權(quán)限限制恢復(fù)。在終端中輸入?csrutil enable 恢復(fù)權(quán)限設(shè)置。重啟電腦,繼續(xù)往后操作。
8.0? 此時(shí),你如果安裝12.6版本的iTunes的話,又會(huì)提示你一個(gè)錯(cuò)誤問(wèn)題。說(shuō)是無(wú)法讀取文件“iTunes Library.itl”,它的意思就是沒(méi)有刪干凈唄。此時(shí)一定要點(diǎn)擊退出。
9.0 打開(kāi)Finder 搜索iTunes Library.itl,會(huì)搜到一個(gè)結(jié)果,這個(gè)就是問(wèn)題文件,把它一到廢紙簍就好咯。
10.0 刪除上述文件之后,你再安裝12.6的iTunes,終于成功了。大功告成。
2. iTunes的版本問(wèn)題解決了,那么Get ipa文件就是 so easy了
① 這里我們以思聰?shù)??直播為例,首先去iTunes找到該應(yīng)用,點(diǎn)擊下載。下載完成之后,你可以在資料庫(kù)里找到。
②? 找到剛剛下載好的??直播, 右鍵 showFinder一下, 就會(huì)找到該應(yīng)用的ipa文件了。
③ 首先給ipa文件解壓, 會(huì)得到一個(gè)同名的文件夾 ,依次打開(kāi)? ? 熊貓直播 4.0.14? ? ->? ?Payload? ?->? ?PandaTV-ios? 點(diǎn)擊右鍵 顯示包內(nèi)容。
④ 上圖中我們僅僅得到了部分的圖片例如 icon 啟動(dòng)圖了。大部分的圖片都被壓縮到了上面的紅框的文件中 Assets.car,下面我們就試著把Assets.car解壓。
二. 前面我們已經(jīng)把ipa文件以及其中Assets.car得到了,下面我們就開(kāi)始解壓Assets.car
1. 在這里,我用一個(gè)第三方的框架來(lái)解壓它,它叫cartool,還有很多其他的方法,我就不一一列舉了。
① 下載完成,打開(kāi)文件夾 打開(kāi).xcodeproj
② 運(yùn)行cartool項(xiàng)目?
③ 運(yùn)行成功,生成cartool工具
④? 打開(kāi)終端,先拖入cartool的路徑,然后再拖入Assets.car的路徑,最后拖入存放圖片文件夾路徑。(三者之間用空格隔開(kāi),終端一般會(huì)自動(dòng)空格)
⑤ 打開(kāi)圖片文件夾,圖片全部加載進(jìn)來(lái)。圓滿完成!