- 概念
- 每一個iOS程序都會為自己創(chuàng)建一個文件系統(tǒng)目錄(文件夾)硬爆,這個獨(dú)立欣舵、封閉、安全的空間缀磕,叫做沙盒缘圈。
注:
1、每一個應(yīng)用程序都會擁有一個應(yīng)用沙盒袜蚕。
2糟把、應(yīng)用程序沙盒就是一個文件系統(tǒng)目錄。
iOS沙盒機(jī)制
- 1 沙盒是一種安全體系牲剃。
- 2 它規(guī)定了應(yīng)用程序只能在為該應(yīng)用程序創(chuàng)建的文件夾(沙盒)內(nèi)訪問文件遣疯,不可以訪問其他沙盒的內(nèi)容(iOS8已經(jīng)開放部分訪問)。
- 3 所有的非代碼文件都保存在這個地方凿傅,比如圖片缠犀、聲音、屬性列表(plist)狭归、sqlite數(shù)據(jù)庫和文本文件等夭坪。
沙盒機(jī)制的特點(diǎn)
- 1 每個應(yīng)用程序的活動范圍都限定在自己的沙盒里
- 2 不能隨意跨越自己的沙盒去訪問別的應(yīng)用程序沙盒中的內(nèi)容(iOS8 已經(jīng)開放部分)
- 3 應(yīng)用程序向外請求或接收數(shù)據(jù)都需要經(jīng)過權(quán)限認(rèn)證
沙盒文件系統(tǒng)目錄
獲取某個模擬器下某個應(yīng)用程序沙盒的所在位置
查找某個應(yīng)用程序的沙盒
- 第一種方式:
點(diǎn)擊【前往】=> 同事按住Alt鍵=>選中【資源庫】=>選中Developer 文件夾=>CoreSimulator =>Devices =>...=>data=>Containers =>Data=>Application=>...
*第二種方式
點(diǎn)擊從本地硬盤逐級查找
沙盒主要構(gòu)成
沙盒主要由Document、Library过椎、tmp構(gòu)成
Document:保存應(yīng)用運(yùn)行時生成的需要持久化的數(shù)據(jù)室梅,iTunes會自動備份該目錄。
蘋果建議將程序中建立的或在程序中瀏覽到的文件數(shù)據(jù)保存在該目錄下疚宇,iTunes備份和恢復(fù)的時候會包括此目錄
Library: 存儲程序的默認(rèn)設(shè)置和其他狀態(tài)信息亡鼠,iTunes會自動備份該目錄。
- 1Library/Cache:存放緩存文件敷待,iTunes不會備份此目錄间涵,此目錄不會子啊應(yīng)用推出刪除。一般存放體積比較大榜揖,不是特別重要的資源勾哩。
- 2 Library/Preference:保存應(yīng)用的所有偏好設(shè)置抗蠢,iOS的setting(設(shè)置)應(yīng)用會在該目錄中查找應(yīng)用的設(shè)置信息,iTunes會自動備份該目錄思劳。
注意:
你不應(yīng)該直接創(chuàng)建偏好設(shè)置文件迅矛,而是應(yīng)該使用NSUserDefaults類來取得和設(shè)置應(yīng)用程序的偏好。 - tmp:保存應(yīng)用運(yùn)行時所需要的臨時數(shù)據(jù)潜叛,使用完畢后將相應(yīng)的文件從該目錄刪除秽褒。應(yīng)用沒有運(yùn)行時,系統(tǒng)也有可能清除該目錄下的文件威兜,iTunes不會同步該目錄销斟。iPhone重啟時,該目錄的文件會被刪除椒舵。