PS: 原文地址 https://blog.csdn.net/slatop/article/details/76850436? 作者 : slatop ,非常感謝原文作者的信息共享
MARK:
在iOS 8之前,我們想要導(dǎo)出iOS App沙盒中的數(shù)據(jù)是一件非常簡(jiǎn)單的事救赐。只要利用iTools之類的應(yīng)用就可以隨意查看 iOS App 沙盒中的所有數(shù)據(jù),然后根據(jù)需要導(dǎo)出數(shù)據(jù)认罩。但是在 iOS 8 開(kāi)始稠歉,Apple 加強(qiáng)了對(duì)沙盒的限制掰担,iTools?這些應(yīng)用就沒(méi)辦法導(dǎo)出 iOS App 沙盒中的數(shù)據(jù)了。但是現(xiàn)在還是有辦法來(lái)導(dǎo)出沙盒中的數(shù)據(jù)怒炸,只是步驟比原來(lái)要繁瑣許多带饱。
我們知道在升級(jí) iOS 系統(tǒng)之前,通常要對(duì) iOS 設(shè)備進(jìn)行備份阅羹,不然設(shè)備變磚的話就沒(méi)辦法恢復(fù)數(shù)據(jù)了勺疼。我們可以依照下圖進(jìn)行手動(dòng)備份:
在這里?iTunes?備份的就是 iOS 設(shè)備中 App 的沙盒數(shù)據(jù)。我們來(lái)看一下 iOS App 沙盒結(jié)構(gòu)捏鱼。如下圖:
iTunes不會(huì)備份沙盒中所有的數(shù)據(jù)执庐,只會(huì)備份沙盒中 Document 文件夾 和 Library 文件夾(不會(huì)備份 Library 文件夾中的 Caches 子文件夾)。所以我們現(xiàn)在只能導(dǎo)出存儲(chǔ)于這兩個(gè)目錄的數(shù)據(jù)导梆,其他目錄的數(shù)據(jù)應(yīng)該是不行的轨淌。
既然我們知道 iTunes 的備份會(huì)備份沙盒數(shù)據(jù),我們就可以操作這個(gè)備份數(shù)據(jù)來(lái)獲得我們想要的數(shù)據(jù)看尼。下面我們開(kāi)始動(dòng)手來(lái)獲取想要的數(shù)據(jù):
利用 iTunes 對(duì)設(shè)備進(jìn)行手動(dòng)備份猿诸。
打開(kāi)?Disk Drill,這個(gè)軟件會(huì)自動(dòng)掃描出電腦上的備份狡忙。Disk Drill 下載地址梳虽。提取碼:?q6wt
點(diǎn)擊下圖「iOS 備份」選項(xiàng)下的恢復(fù)按鈕。
點(diǎn)擊恢復(fù)按鈕之后灾茁,等一段時(shí)間窜觉,我們就能看到所有的備份數(shù)據(jù)。但是如果設(shè)備上裝的 App 非常多的話北专,就很難找到我們需要的數(shù)據(jù)禀挫。
我們發(fā)現(xiàn) Files 文件夾下的子文件夾都是以AppDomain-開(kāi)頭,后面跟的其實(shí)是 App 的唯一標(biāo)識(shí)符拓颓,既然是唯一標(biāo)識(shí)符语婴,我們就可以利用這個(gè)唯一標(biāo)識(shí)符來(lái)找到對(duì)應(yīng) App 的沙盒目錄。那我們?nèi)绾潍@取 App 的唯一標(biāo)識(shí)符呢驶睦?這里我們可以利用這個(gè)Retriever App來(lái)獲取我們需要的唯一標(biāo)識(shí)符砰左,雖然這個(gè) App 最開(kāi)始是為了查看 App 的 URL Scheme。我們下載這個(gè) App 的源代碼场航,然后利用 Xcode 編譯到我們自己的手機(jī)上缠导,搜索我們需要導(dǎo)出數(shù)據(jù)的 App,點(diǎn)擊進(jìn)去之后查看CFBundleIdentifier這一項(xiàng)溉痢,這個(gè)鍵對(duì)應(yīng)的值就是我們需要的 App 唯一標(biāo)識(shí)符僻造。
在 Disk Drill 的搜索框輸入我們獲取的唯一標(biāo)識(shí)符憋他,我們以唱吧為例,我們知道唱吧錄取的音頻文件不足 60s 是不能上傳的髓削,所以我們利用 Disk Drill 來(lái)取得錄取的音頻文件竹挡。如下圖我在搜索框中輸入 changba 就過(guò)濾掉了其他 App 的沙盒文件夾,然后展開(kāi)文件夾立膛,根據(jù)猜測(cè) record 文件夾中包含的 m4a 文件應(yīng)該就是我們需要的音頻文件了揪罕。