1.每一個應用程序都有本身的存儲空間。spa
2.應用程序不能訪問其餘程序的存儲空間。同步
3.應用程序請求的數據都要經過權限檢測,不符合條件的不被容許。string
默認,沙盒有3個目錄:object
Documents:應用程序將其數據存儲在documents中。file
Library:基於NSUserDefaults的首選項設置存儲在Library/Preferences文件夾中。搜索
tmp:臨時文件夾,同步時,iTunes不會備份/tmp中的文件,再也不須要這些文件時,應用程序須要負責刪除該文件。權限
當設備同步時,iTunes會備份Documents和Libaray目錄下的文件,當重啓時,會丟棄全部的tmp文件。請求
獲取 Documents路徑:程序
NSArray *array=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);im
NSString *path=[array objectAtIndex:0];
NSDocumentDirectory:查詢Documents目錄
NSUserDomainMask:限制搜索範圍在程序的沙盒以內。
試圖訪問Documents目錄下某個文件的路徑:
NSString *filePath=[path stringByAppendingPathComponent:@"image.png"];
stringByAppendingPathComponent:會在Documents路徑後面追加「image.png」,而且會自動添加或去掉路徑中多餘的「/」,適合拼接地址,不適用於Url.
獲取臨時路徑:
NSString *temp=NSTemporaryDirectory();
獲取 Library路徑:
NSArray *array=NSSerachPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES);
NSString *path=[array objectAtIndex:0];