在沙盒里面總共有三個(gè)文件夾:
1佑钾、Documents 目錄:您應(yīng)該將所有的應(yīng)用程序數(shù)據(jù)文件寫入到這個(gè)目錄下悠鞍。這個(gè)目錄用于存儲(chǔ)用戶數(shù)據(jù)弓坞。該路徑可通過配置實(shí)現(xiàn)iTunes共享文件吨岭×嘲可被iTunes備份。
2未妹、AppName.app 目錄:這是應(yīng)用程序的程序包目錄簿废,包含應(yīng)用程序的本身空入。由于應(yīng)用程序必須經(jīng)過簽名,所以您在運(yùn)行時(shí)不能對(duì)這個(gè)目錄中的內(nèi)容進(jìn)行修改族檬,否則可能會(huì)使應(yīng)用程序無法啟動(dòng)歪赢。
3、Library 目錄:這個(gè)目錄下有兩個(gè)子目錄:
Preferences 目錄:包含應(yīng)用程序的偏好設(shè)置文件单料。您不應(yīng)該直接創(chuàng)建偏好設(shè)置文件埋凯,而是應(yīng)該使用NSUserDefaults類來取得和設(shè)置應(yīng)用程序的偏好.
Caches 目錄:用于存放應(yīng)用程序?qū)S玫闹С治募4鎽?yīng)用程序再次啟動(dòng)過程中需要的信息(在Library中扫尖,只有這個(gè)文件夾里面的東西不會(huì)被同步白对,其他文件夾可以同步)。
可創(chuàng)建子文件夾换怖∷δ眨可以用來放置您希望被備份但不希望被用戶看到的數(shù)據(jù)。該路徑下的文件夾沉颂,除Caches以外条摸,都會(huì)被iTunes備份。
4铸屉、tmp 目錄:這個(gè)目錄用于存放臨時(shí)文件钉蒲,保存應(yīng)用程序再次啟動(dòng)過程中不需要的信息。該路徑下的文件不會(huì)被iTunes備份彻坛。
獲取沙盒的各個(gè)路徑代碼
// 獲取沙盒主目錄路徑
NSString *homeDir = NSHomeDirectory();
// 獲取Documents目錄路徑
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
// 獲取Library的目錄路徑
NSString *libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
// 獲取Caches目錄路徑
NSString *cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
// 獲取tmp目錄路徑
NSString *tmpDir = NSTemporaryDirectory();
需要注意的是:
1.我們?cè)诖鎯?chǔ)用戶的基礎(chǔ)信息時(shí)顷啼,都存儲(chǔ)在沙盒的Documents的文件夾中,因?yàn)榭梢员籌tunes同步昌屉,當(dāng)用戶下次重新下載APP時(shí)也會(huì)同步用戶信息线梗。
2.SDWebImage緩存的圖片的位置在Library中的Caches文件夾中,它不會(huì)被Itunes同步