沙盒:每一个应用程序都有一个沙盒 沙盒就是手机给应用开辟的一块空间。
默认情况下,每个沙盒有四个文件夹:
1、Documents:苹果建议将程序中建立的或在程序浏览到文件数据保存在该目录下,iTunes备份和恢复的时候会备份该目录。该目录用于存储用户数据或其它应该定期备份的信息,用户生成的文件、应用程序不能重新创建的文件
2、Library:存储程序的默认设置或其他状态信息,保存可以重新下载或者重新生成的数据
Library/Caches:存放缓存文件,iTunes不会备份该目录,但是这个目录下的文件不会在应用退出时删除,用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。
Library/Preferences:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好。
3、tmp:提供一个临时创建文件的地方,用于存放临时文件 , iPhone重启时, 会丢弃所有的tmp文件,可保存应用程序再次启动过程中不需要的信息,在使用完这些数据之后要注意随时删除,避免占用用户设备的空间
4、SystemData:保存系统数据
// 获取沙盒主目录路径
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点击下方的设置图标按钮-->download container-->下载到桌面-->右键显示包内容 即可。