沙盒:每一個應用程序都有一個沙盒 沙盒就是手機給應用開辟的一塊空間瞪讼。
默認情況下,每個沙盒有四個文件夾:
1、Documents:蘋果建議將程序中建立的或在程序瀏覽到文件數(shù)據(jù)保存在該目錄下,iTunes備份和恢復的時候會備份該目錄。該目錄用于存儲用戶數(shù)據(jù)或其它應該定期備份的信息赠潦,用戶生成的文件、應用程序不能重新創(chuàng)建的文件
2、Library:存儲程序的默認設(shè)置或其他狀態(tài)信息锁荔,保存可以重新下載或者重新生成的數(shù)據(jù)
Library/Caches:存放緩存文件,iTunes不會備份該目錄,但是這個目錄下的文件不會在應用退出時刪除,用于存放應用程序?qū)S玫闹С治募觯4鎽贸绦蛟俅螁舆^程中需要的信息阳堕。
Library/Preferences:包含應用程序的偏好設(shè)置文件。您不應該直接創(chuàng)建偏好設(shè)置文件拍霜,而是應該使用NSUserDefaults類來取得和設(shè)置應用程序的偏好嘱丢。
3、tmp:提供一個臨時創(chuàng)建文件的地方祠饺,用于存放臨時文件 , iPhone重啟時, 會丟棄所有的tmp文件越驻,可保存應用程序再次啟動過程中不需要的信息,在使用完這些數(shù)據(jù)之后要注意隨時刪除道偷,避免占用用戶設(shè)備的空間
4缀旁、SystemData:保存系統(tǒng)數(shù)據(jù)
// 獲取沙盒主目錄路徑
NSString *homeDir = NSHomeDirectory();
// 獲取Documents目錄路徑
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
//獲取LIbrary目錄路徑
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES);
NSString *path = [paths objectAtIndex:0];
// 獲取Caches目錄路徑
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachesDir = [paths objectAtIndex:0];
// 獲取tmp目錄路徑
NSString *tmpDir = NSTemporaryDirectory()
沙盒目錄:
NSUserDefaults存儲目錄:
[[NSUserDefaults standardUserDefaults] setObject:@"今天天氣很好" forKey:@"key1"];
[[NSUserDefaults standardUserDefaults] setObject:@"今天周一" forKey:@"key2"];
[[NSUserDefaults standardUserDefaults] synchronize];
查看真機的沙盒路徑
Window--->devices and simulators-->選中相應的App點擊下方的設(shè)置圖標按鈕-->download container-->下載到桌面-->右鍵顯示包內(nèi)容 即可。