macOS 教程:利用 Disk Drill 導(dǎo)出 iOS App 沙盒中的數(shù)據(jù)

iOS 8 之前,我們想要導(dǎo)出 iOS App 沙盒中的數(shù)據(jù)是一件非常簡單的事。只要利用 iTools 之類的應(yīng)用就可以隨意查看 iOS App 沙盒中的所有數(shù)據(jù),然后根據(jù)需要導(dǎo)出數(shù)據(jù)。但是在 iOS 8 開始,Apple 加強了對沙盒的限制,iTools 這些應(yīng)用就沒辦法導(dǎo)出 iOS App 沙盒中的數(shù)據(jù)了。但是現(xiàn)在還是有辦法來導(dǎo)出沙盒中的數(shù)據(jù),只是步驟比原來要繁瑣許多。

Disk Drill 已上架 Setapp

Setapp:一款神奇的平臺級軟件,每月繳費即可享用上百款全球精品付費軟件。

我們知道在升級 iOS 系統(tǒng)之前,通常要對 iOS 設(shè)備進行備份,不然設(shè)備變磚的話就沒辦法恢復(fù)數(shù)據(jù)了。我們可以依照下圖進行手動備份:

在這里 iTunes 備份的就是 iOS 設(shè)備中 App 的沙盒數(shù)據(jù)。我們來看一下 iOS App 沙盒結(jié)構(gòu)。如下圖:

iTunes 不會備份沙盒中所有的數(shù)據(jù),只會備份沙盒中 Document 文件夾 和 Library 文件夾(不會備份 Library 文件夾中的 Caches 子文件夾)。所以我們現(xiàn)在只能導(dǎo)出存儲于這兩個目錄的數(shù)據(jù),其他目錄的數(shù)據(jù)應(yīng)該是不行的。

動手實踐

既然我們知道 iTunes 的備份會備份沙盒數(shù)據(jù),我們就可以操作這個備份數(shù)據(jù)來獲得我們想要的數(shù)據(jù)。下面我們開始動手來獲取想要的數(shù)據(jù):

  1. 利用 iTunes 對設(shè)備進行手動備份。
  2. 打開 Disk Drill,這個軟件會自動掃描出電腦上的備份。Disk Drill 下載地址。
  3. 點擊下圖「iOS 備份」選項下的恢復(fù)按鈕。

點擊恢復(fù)按鈕之后,等一段時間,我們就能看到所有的備份數(shù)據(jù)。但是如果設(shè)備上裝的 App 非常多的話,就很難找到我們需要的數(shù)據(jù)。

我們發(fā)現(xiàn) Files 文件夾下的子文件夾都是以 AppDomain- 開頭,后面跟的其實是 App 的唯一標(biāo)識符,既然是唯一標(biāo)識符,我們就可以利用這個唯一標(biāo)識符來找到對應(yīng) App 的沙盒目錄。那我們?nèi)绾潍@取 App 的唯一標(biāo)識符呢?這里我們可以利用這個 Retriever App 來獲取我們需要的唯一標(biāo)識符,雖然這個 App 最開始是為了查看 App 的 URL Scheme。我們下載這個 App 的源代碼,然后利用 Xcode 編譯到我們自己的手機上,搜索我們需要導(dǎo)出數(shù)據(jù)的 App,點擊進去之后查看 CFBundleIdentifier 這一項,這個鍵對應(yīng)的值就是我們需要的 App 唯一標(biāo)識符。

在 Disk Drill 的搜索框輸入我們獲取的唯一標(biāo)識符,我們以唱吧為例,我們知道唱吧錄取的音頻文件不足 60s 是不能上傳的,所以我們利用 Disk Drill 來取得錄取的音頻文件。如下圖我在搜索框中輸入 changba 就過濾掉了其他 App 的沙盒文件夾,然后展開文件夾,根據(jù)猜測 record 文件夾中包含的 m4a 文件應(yīng)該就是我們需要的音頻文件了。

總結(jié)

這種方法相較于以前來說,繁瑣了不少,而且存在限制。但是因為 Apple 對 App 沙盒的限制提高了限制,我們只有通過這種迂回的方式來解決問題。

當(dāng)然現(xiàn)在有這種需求的人應(yīng)該不多,自己也是屬于瞎折騰。有這種想法還是因為一個朋友需要導(dǎo)出唱吧的音頻文件,自己才猜測能不能利用這種方式來獲取沙盒中的文件。

評論 1 條