IOS--沙盒机制
1.什么是沙盒:
沙盒是指你安装的应用程序只能在该程序所创建的文件系统区域中读取数据,不能去其他地方访问,此区域叫做沙盒。
2.沙盒里有什么内容:
沙盒是为了存储所有非代码文件,比如图片,声音,视频,列表,文本文件。
3.沙盒的作用:
沙盒是为了保证程序良好安全的运行。
4.沙盒路径下的目录:
Documents目录:此目录下主要是为了存储用户数据和其他定期备份的数据。注:(苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录)。
Library目录:此目录下主要有两个目录Caches和Preferences:
1). Caches 目录用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。
2).Preferences 目录包含应用程序的偏好设置文件
tmp 目录:此目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息,重启后清空。
5.获取沙盒目录的方法:
(1)、获取document目录
参数介绍:第一个参数为指向document目录下,第二个参数是在当前程序的沙盒下,第三个参数为是否展开波浪线
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
或者
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]
(2)、获取cache目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString* cachesDirectory = [paths objectAtIndex:0];
或者
NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
(3)、获取tmp目录路径的方法:
NSString *tmpDir = NSTemporaryDirectory();
(4)、通过打印前往文件路径来实现:NSHomeDirectory()。