综述
- 每个app下都有一个沙盒目录,就是本app的文件目录,隔离于其他app,系统不允许其他app访问别的app的沙盒路径
- iOS的沙盒下面主要包含该以下三个文件:Documents、Library(内含Caches和Preferences)、temp。
- Home目录 NSString *homeDirectory = NSHomeDirectory();
Documents、Library、temp文件夹简介
1.Documents
简介
该目录会被iTunes自动备份,建议存储需要持久化存储的数据,将程序中建立的或在程序中重要的文件数据保存在此处.
路径
NSString *docDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
2.Library
简介
里面包括两个文件夹 Caches 和 Preferences
- Caches: 主要存储缓存数据,缓存数据在设备低存储空间时可能会被删除,iTunes或iCloud不会对其进行备份。
- Preferences:保存app的偏好设置和其他设置, iTunes会自动备份该目录。NSUserDefaults就是默认存放在此文件夹下面
路径
NSString *libDirectory = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) firstObject];
//Caches文件夹
NSString *cachesDirectory = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
//Preferences
NSArray *preferencesPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *preferencesDirectory = [[paths firstObject] stringByAppendingString:@"/Preferences"];
3.tmp
简介
- 临时文件夹,iTunes不会同步该目录,保存app运行中的临时文件.
- 建议用完即删,iphone重启会自动删除本目录下文件.
路径
NSString *tmpDir = NSTemporaryDirectory();