根目录:NSHomeDirectory(); Documents:NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).lastObject; Library Caches:NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).lastObject; Preferences: // 偏好设置 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSString *name = @"zhangsan"; [defaults setObject:name forKey:@"NAME"]; // 读取偏好设置 NSString *str = [defaults objectForKey:@"NAME"]; tmp:NSTemporaryDirectory();
sandBox目录结构:
Documents:保存由应用程序产生的文件或数据,如:涂鸦程序生成的图片,游戏关卡记录等。
当同步备份时iCloud会自动备份Document中的所有文件。
如果保存了从网络下载的文件,在上架审批的时候,会被拒。
Library
Caches:缓存从网络下载的文件,后续仍然需要继续使用,如:网络下载的离线数据、图片、视频。。。
缓存目录中的文件系统不会自动删除,可以做离线访问。不会自动备份。
要求程序必须提供一个完善的清除缓存目录的“解决方案”。
Preferences:存储偏好设置信息,使用时直接使用单例[NSUserDefaults standardUserDefaults],无需获取此路径。当同步备份时iCloud也会备份这个文件夹。
tmp:保存在tmp文件夹中的文件,当磁盘紧张或重启手机后,系统会自动回收。
程序员不需要管理tmp文件夹中文件的释放。