标签:
iOS的应用只能访问系统为该应用创建的区域,不可访问其他区域,这块区域就是沙盒(sandBox)。我们常常把一些图片,属性文件(plist文件)等等存在到该目录下,以便开发中使用。
a.获取模拟器沙盒路径
如果在开发中,你不知道你想查找的应用沙盒路径的话,你可以通过NSHomeDirectory()这个方法来打印你的沙盒路径。
eg:
NSLog(@"沙盒路径---->%@",NSHomeDirectory());运行后可见控制台输出如下:
控制台输出的就是你想查找的应用沙盒地址。使用command+shift+G,把控制台输出的路径复制粘贴,然后回车就可以进入到该应用的沙盒中。
b.获取真机沙盒路径
如果在开发中,需要获取真机的沙盒地址以查看某些东西是否按预期存储成功的话。
步骤是:
ba.连接真机到xcode,运行应用,即项目;
bb.点击Finder上的Window,点击Window,如下图所示
bc.点击window之后,出现下拉菜单,选择Device,进入下图所示
bd.如下图所示操作
be.当你完成bd之后,指定一个位置,例如说桌面,点击下载,获取一个包。
bf.右键点击打开包内容,o了。
沙盒下共有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);
标签:
原文地址:http://blog.csdn.net/aaaa99996666/article/details/51331302