沙盒

一、沙盒中幾個(gè)主要的目錄

每個(gè)沙盒下面都有相似的目錄結(jié)構(gòu),如下圖所示(出自蘋果官方文檔):

每個(gè)應(yīng)用的沙盒目錄都是相似的,主要包含圖中所示的四個(gè)目錄:

1.MyApp.app

1.1 存放內(nèi)容

該目錄包含了應(yīng)用程序本身的數(shù)據(jù),包括資源文件和可執(zhí)行文件等。程序啟動(dòng)以后,會(huì)根據(jù)需要從該目錄中動(dòng)態(tài)加載代碼或資源到內(nèi)存,這里用到了lazy loading的思想。

1.2 整個(gè)目錄是只讀的

為了防止被篡改,應(yīng)用在安裝的時(shí)候會(huì)將該目錄簽名,非越獄的情況下,該目錄中的內(nèi)容無法更改。

1.3 不會(huì)被iTunes同步

1.4 路徑獲取

NSString *homePath = NSHomeDirectory();

2.Documents

2.1存放內(nèi)容

2.3 路徑獲取

NSArray *docArr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *docPath = [docArr objectAtIndex:0];

3.Documents/Inbox

3.1 存放內(nèi)容

4.Library

4.3 路徑獲取

NSArray *libraryArr = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

NSString *libraryPath = [libraryArr objectAtIndex:0];

5.Library/Caches

5.1 存放內(nèi)容

主要是緩存文件,用戶使用過程中緩存都可以保存在這個(gè)目錄中,保存可再生的文件,比如網(wǎng)絡(luò)請(qǐng)求的數(shù)據(jù)。鑒于此,yingyong程序通常還需要負(fù)責(zé)刪除這些文件。

不會(huì)被iTunes同步

路徑獲取

NSString *cache = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];

6.Library/Preferences

6.1 存放內(nèi)容

應(yīng)用程序的偏好設(shè)置文件。我們使用NSUserDefaults寫的設(shè)置數(shù)據(jù)都會(huì)保存在這個(gè)目錄下的一個(gè)plist文件中,這就是寫到plist中!

會(huì)被iTunes同步。

7.tmp

7.1 存放內(nèi)容

各種臨時(shí)文件,保存應(yīng)用再次啟動(dòng)時(shí)不需要的文件。而且,當(dāng)應(yīng)用不再需要這些文件時(shí)應(yīng)該主動(dòng)將其刪除,因?yàn)樵撃夸浵碌臇|西隨時(shí)可能被系統(tǒng)清理掉,目前已知的一種可能清理的原因是系統(tǒng)磁盤存儲(chǔ)空間不足的時(shí)候。

不會(huì)被iTunes同步。

路徑獲取

NSString *tempPath = NSTemporaryDirectory();

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容