很多時(shí)候我們想要去模仿市場(chǎng)上的一些app,那就需要app里面的圖片資源,如何獲取呢?
這里以iOS的app為例。
首先mac電腦端下載一個(gè)軟件,在App Store搜索apple configurator 2

點(diǎn)擊下載,安裝成功之后打開(kāi),usb連接上手機(jī),如圖表示連接成功

接下來(lái)是點(diǎn)擊添加,然后選擇app

這個(gè)時(shí)候由于未登陸,點(diǎn)擊登陸

輸入密碼成功后,可以看到手機(jī)右上角有了紅色的泡泡,證明登陸成功

雙進(jìn)手機(jī)泡泡查看詳細(xì)信息,如下app處,查找到我們要下載的app,如圖是手機(jī)已經(jīng)安裝的,這個(gè)安裝和未安裝都不影響。
接下來(lái)進(jìn)入正題,依舊是添加選擇app,然后搜索需要的app,選中后,點(diǎn)擊添加

未安裝的先安裝一次,然后再重復(fù)上面的添加

彈出已存在的警告的時(shí)候,不要進(jìn)行任何操作,在本地去找ipa包文件,F(xiàn)inder-- 前往文件夾 – copy下面地址,路徑如下
~/Library/Group Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps/
或者文件夾直接前往~/Library/Group Containers/

改ipa文件后綴為.zip,然后解壓文件,右鍵,顯示包內(nèi)容,即可獲取到ipa包內(nèi)文件資源

選擇歸檔工具解壓縮

最后我們就能得到一個(gè)文件夾,點(diǎn)擊該文件夾,選擇Payload文件,然后我們會(huì)看到如下的文件

右鍵顯示包內(nèi)容


進(jìn)入到資源文件文件夾中,另我大失所望的是居然沒(méi)有我想要的所有圖片資源,只要很少的一些,比如logo和引導(dǎo)頁(yè)面的圖片,但是我卻發(fā)現(xiàn)了一個(gè)我們經(jīng)常用的,那就是Assets.xcassets打包后生成的Assets.car文件,由于蘋(píng)果公司不提供直接查看Assets.car的工具,所以查了下資料,很快就找到了cartool這么一個(gè)工具
通過(guò)cartool工具,我們便能解析出圖片資源
下載方法:通過(guò)終端
git clone https://github.com/steventroughtonsmith/cartool

xcode -》file -〉open。將下載下來(lái)的工程打開(kāi),大概就是這樣

打開(kāi)該工程后,就進(jìn)入最重要的一步了,通過(guò)下面的步驟
product–>scheme–>edit scheme



運(yùn)行xcode發(fā)現(xiàn)路徑存在空格,無(wú)法成功編譯。

這個(gè)項(xiàng)目是五年前的,基本沒(méi)人維護(hù),而且是xcode8。自己修復(fù)也不懂。如有了解的希望不吝告知。
那么只能換一個(gè)工具來(lái)解析car文件了,在cartool的issue發(fā)現(xiàn)有人提到了另一個(gè)工具:
Swift5: https://github.com/iHTCboy/acextract
同樣是git clone https://github.com/iHTCboy/acextract
然后xcode打開(kāi),首先同樣的是指定要解析的car文件,以及輸出的文件目錄了


運(yùn)行,發(fā)現(xiàn)又出錯(cuò)了??

查看信息是說(shuō)缺少文件,

點(diǎn)擊左側(cè)文件夾,正常情況下圖中缺少的文件本來(lái)是紅色的,或者沒(méi)有對(duì)應(yīng)的文件夾,圖為我已經(jīng)添加之后的情況。

如果缺少文件,那么進(jìn)入文件夾,之后發(fā)現(xiàn)無(wú)法添加文件?
用touch命令吧
cd /Users/zby0520/myApp/acextract/CommandLine/CommandLine
touch Option.swift
touch CommandLineTool.swift
touch StringExtensions.swift
touch Info.plist
文件照搬https://github.com/iHTCboy/CommandLine/tree/b8209dc17ac1dd0f97ebfbd6a77a0633552626ca/CommandLine里面的即可
再次build發(fā)現(xiàn)不報(bào)錯(cuò)了,解析成功。

打開(kāi)輸出目錄,發(fā)現(xiàn)已成功輸出

接下來(lái)終于可以愉快的敲代碼了。
以上教程不針對(duì)任何app,僅限用于學(xué)習(xí),大家自覺(jué)遵守法律道德,不要干壞事哈。