一、iOS中的沙盒机制

· iOS应用程序只能对自己创建的文件系统读取文件,这个独立、封闭、安全的空间,叫做沙盒。它一般存放着程序包文件(可执行文件)、图片、音频、视频、plist文件、sqlite数据库以及其他文件。

· 每个应用程序都有自己的独立的存储空间(沙盒)

· 一般来说应用程序之间是不可以互相访问

模拟器沙盒的位置

/User/userName/Library/Application Support/iPhone Simulator

当我们创建应用程序时,在每个沙盒中含有三个文件,分别是Document、Library和temp。

• Document:一般需要持久的数据都放在此目录中,可以在当中添加子文件夹,iTunes备份和恢复的时候,会包括此目录。

• Library:设置程序的默认设置和其他状态信息

• temp:创建临时文件的目录,当iOS设备重启时,文件会被自动清除

二,iphone沙盒的4个文件

1、Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。

2、AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。

3、Library 目录:这个目录下有两个子目录:Caches 和 Preferences

Preferences 目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.

Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。

4、tmp 目录:这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。

一,代码:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view. self.title=@"RootViewController"; //获取根目录
NSString*homePath = NSHomeDirectory();
NSLog(@"Home目录:%@",homePath); //获取Documents文件夹目录,第一个参数是说明获取Doucments文件夹目录,第二个参数说明是在当前应用沙盒中获取,所有应用沙盒目录组成一个数组结构的数据存放
NSArray*docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString*documentsPath = [docPath objectAtIndex:0];
NSLog(@"Documents目录:%@",documentsPath); //获取Cache目录
NSArray*cacPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString*cachePath = [cacPath objectAtIndex:0];
NSLog(@"Cache目录:%@",cachePath); //Library目录
NSArray*libsPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString*libPath = [libsPath objectAtIndex:0];
NSLog(@"Library目录:%@",libPath); //temp目录
NSString*tempPath = NSTemporaryDirectory();
NSLog(@"temp目录:%@",tempPath); }

二,输出:

2015-10-22 14:16:10.348 iOS的目录[11616:228589] Home目录:/Users/chenlihua/Library/Developer/CoreSimulator/Devices/A5073606-49E9-4561-9BEC-9EF95581E3CF/data/Containers/Data/Application/E283BABA-CB66-413E-849C-C0C2DC9AE9F7
2015-10-22 14:16:10.349 iOS的目录[11616:228589] Documents目录:/Users/chenlihua/Library/Developer/CoreSimulator/Devices/A5073606-49E9-4561-9BEC-9EF95581E3CF/data/Containers/Data/Application/E283BABA-CB66-413E-849C-C0C2DC9AE9F7/Documents
2015-10-22 14:16:10.349 iOS的目录[11616:228589] Cache目录:/Users/chenlihua/Library/Developer/CoreSimulator/Devices/A5073606-49E9-4561-9BEC-9EF95581E3CF/data/Containers/Data/Application/E283BABA-CB66-413E-849C-C0C2DC9AE9F7/Library/Caches
2015-10-22 14:16:10.349 iOS的目录[11616:228589] Library目录:/Users/chenlihua/Library/Developer/CoreSimulator/Devices/A5073606-49E9-4561-9BEC-9EF95581E3CF/data/Containers/Data/Application/E283BABA-CB66-413E-849C-C0C2DC9AE9F7/Library
2015-10-22 14:16:10.349 iOS的目录[11616:228589] temp目录:/Users/chenlihua/Lib

最新文章

  1. 使用python+xpath 获取https://pypi.python.org/pypi/lxml/2.3/的下载链接
  2. hibernate映射文件
  3. nmap
  4. asp.net mvc api auth
  5. WIn2003的IIS6解决IE11登录问题。
  6. 用一个案列详细讲解UITextFiled
  7. Windows下查看进程及结束进程命令[转]
  8. 36.Android之多线程和handle更新UI学习
  9. kickstart一键自动安装Linux系统
  10. wsdl 关于nillable和minOccurs 在.NET和java中的不同
  11. Spring中Bean实例的生命周期及其行为
  12. angularjs某些指令在外部作用域继承并创建新的子作用域引申出的“值复制”与“引用复制”的问题
  13. 使用python操作mysql数据库
  14. CPP--正码,反码,补码~附整数溢出的探讨
  15. day14_dom操作
  16. oracle数据库连接缓慢
  17. Email发展历史
  18. (转)整理 node-sass 安装失败的原因及解决办法
  19. Oracle数据库访问其他用户下的表,不加表所属的用户名的实现方法
  20. 秒杀系统-web

热门文章

  1. Elasticsearch系列(五)----JAVA客户端之TransportClient操作详解
  2. HTML 5 使用 FileReader、FormData实现文件上传
  3. centos 安装oracle 11g r2(二)-----监听配置与创建数据库实例
  4. Requests库入门实例
  5. 手淘适配-flexible
  6. jetbrains golang IDE
  7. Android 开发工具类 14_ JsonTools
  8. switch开关
  9. golang-利用反射给结构体赋值
  10. redis-redisTemplate模糊匹配删除