iOS沙盒

1.每个应用程序都有自己的存储空间。

2.应用程序不能访问其他程序的存储空间。

3.应用程序请求的数据都要通过权限检测,不符合条件的不被允许。

默认,沙盒有3个目录:

Documents:应用程序将其数据存储在documents中。

Library:基于NSUserDefaults的首选项设置存储在Library/Preferences文件夹中。

tmp:临时文件夹,同步时,iTunes不会备份/tmp中的文件,不再需要这些文件时,应用程序需要负责删除该文件。

当设备同步时,iTunes会备份Documents和Libaray目录下的文件,当重启时,会丢弃所有的tmp文件。

 

获取 Documents路径:

NSArray *array=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString *path=[array objectAtIndex:0];

NSDocumentDirectory:查询Documents目录

NSUserDomainMask:限制搜索范围在程序的沙盒之内。

试图访问Documents目录下某个文件的路径:

NSString *filePath=[path stringByAppendingPathComponent:@"image.png"];

stringByAppendingPathComponent:会在Documents路径后面追加“image.png”,并且会自动添加或去掉路径中多余的“/”,适合拼接地址,不适用于Url.

 

获取临时路径:

NSString *temp=NSTemporaryDirectory();

 

获取 Library路径:

NSArray *array=NSSerachPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES);

NSString *path=[array objectAtIndex:0];

 

posted @ 2015-08-09 21:43  一只简单的码农  阅读(140)  评论(0编辑  收藏  举报