码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 沙盒机制

时间:2016-05-07 09:50:27      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:

iOS的应用只能访问系统为该应用创建的区域,不可访问其他区域,这块区域就是沙盒(sandBox)。我们常常把一些图片,属性文件(plist文件)等等存在到该目录下,以便开发中使用。

1.获取沙盒路径

a.获取模拟器沙盒路径

如果在开发中,你不知道你想查找的应用沙盒路径的话,你可以通过NSHomeDirectory()这个方法来打印你的沙盒路径。

eg:

NSLog(@"沙盒路径---->%@",NSHomeDirectory());
运行后可见控制台输出如下:

技术分享


控制台输出的就是你想查找的应用沙盒地址。使用command+shift+G,把控制台输出的路径复制粘贴,然后回车就可以进入到该应用的沙盒中。

b.获取真机沙盒路径

如果在开发中,需要获取真机的沙盒地址以查看某些东西是否按预期存储成功的话。

步骤是:

ba.连接真机到xcode,运行应用,即项目;

bb.点击Finder上的Window,点击Window,如下图所示

技术分享

bc.点击window之后,出现下拉菜单,选择Device,进入下图所示

技术分享

bd.如下图所示操作

技术分享

be.当你完成bd之后,指定一个位置,例如说桌面,点击下载,获取一个包。

bf.右键点击打开包内容,o了。

2.沙盒下文件夹构造以及作用

沙盒下共有3个文件夹分别是:Documents、Library、tmp。作用如下:

Documents

1.我们常常将应用程序的数据文件保存在该目录下。不过这些数据类型基本属于不可再生的数据

2.这个文件夹会被iTunes同步

3.获取该目录的方法是:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [paths objectAtIndex:0];
    NSLog(@"Document路径------>%@", path);

Library

1.存储程序的默认设置或其它状态信息

2.该文件夹会被iTunes同步;

3.获取的该目录的方法是:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
    NSString *path = [paths objectAtIndex:0];
    NSLog(@"Library路径----->%@", path);

4.本目录还有两个子目录分别是:Caches和Preferences

Library/Caches

1.主要是缓存文件(可再生的文件,比如网络请求的数据),用户使用过程中缓存都可以保存在这个目录中。

2.获取该目录的方法是:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);  
NSString *path = [paths objectAtIndex:0];  
NSLog(@"%@", path);

Library/Preferences

1.常用语保存一些偏好设置;

tmp

1.仅是提供一个即时创建临时文件的地方

2.该文件夹不会被iTunes同步;

3.获取该目录的方法是:

NSString *tmpDir = NSTemporaryDirectory();  
 NSLog(@"%@", tmpDir); 

iOS 沙盒机制

标签:

原文地址:http://blog.csdn.net/aaaa99996666/article/details/51331302

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!