沙盒檔案
每個ios
應用都有自己的應用沙盒,應用沙盒就是檔案系統目錄,與其他應用的檔案系統隔離,
ios系統不允許訪問其他應用的應用沙盒,在
ios8
中已經開放訪問。
應用沙盒一般包括以下幾個檔案目錄:應用程式包
documents
、libaray
(caches
和preferences
目錄)、
tmp。
應用程式包
:包含所有的資源檔案和可執行檔案。
documents
:儲存應用執行時生成的需要持久化的資料,
itunes
會自動備份該目錄。
蘋果建議將程式中建立的或在程式中瀏覽到的檔案資料儲存在該目錄下,
itunes
備份和恢復的時候會包括此目錄。
tmp:儲存應用執行時所需的臨時資料,使用完畢後再將相應的檔案從該目錄刪除。應用沒有執行時,系統也有可能會清除該目錄下的檔案,
itunes
不會同步該目錄。
iphone
重啟時,該目錄下的檔案會丟失。
library
:儲存程式的預設設定和其他狀態資訊,
itunes
會自動備份該目錄。
libaray/caches:
存放快取檔案,
此目錄下檔案不會在應用退出刪除。一般存放體積比較大,不是特別重要的資源。
itunes
不會備份此目錄。
libaray/preferences:
儲存應用的所有偏好設定,
ios的
settings
(設定)應用會在該目錄中查詢應用的設定資訊,
itunes
會自動備份該目錄。
沙盒檔案目錄獲取**:
//home
目錄nsstring *homedirectory = nshomedirectory();
//document
目錄nsarray *paths = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);
nsstring *path = [paths objectatindex:0];
//cache
目錄nsarray *paths = nssearchpathfordirectoriesindomains(nscachesdirectory, nsuserdomainmask, yes);
nsstring *path = [paths objectatindex:0];
//libaray
目錄nsarray *paths = nssearchpathfordirectoriesindomains(nslibrarydirectory, nsuserdomainmask, yes);
nsstring *path = [paths objectatindex:0];
//tmp
目錄nsstring *tmpdir = nstemporarydirectory();
iOS開發之 沙盒的操作
獲取這些目錄路徑的方法 1,獲取家目錄路徑的函式 nsstring homedir nshomedirectory 2,獲取documents目錄路徑的方法 nsarray paths nssearchpathfordirectoriesindomains nsdocumentdirectory,n...
IOS開發之 沙盒
ios沙盒目錄解析 出於安全考慮,ios系統的沙盒機制規定每個應用都只能訪問當前沙盒目錄下面的檔案 也有例外,比如系統通訊錄能在使用者授權的情況下被第三方應用訪問 這個規則把ios系統的封閉性展現的淋漓盡致。每個沙盒下面都有相似的目錄結構,如下圖所示 出自蘋果官方文件 每個應用的沙盒目錄都是相似的,...
iOS 開發之沙盒機制
1.ios 沙盒機制簡介 沙盒也叫沙箱,英文standbox,其原理是通過重定向技術,把程式生成和修改的檔案定向到自身資料夾中。在沙盒機制下,每個程式之間的資料夾不能互相訪問。ios系統為了保證系統安全,採用了這種機制 ios 應用程式在安裝時,會建立屬於自己的沙盒檔案,應用程式不能直接訪問其他應用...