您的位置:首页 > 移动开发 > IOS开发

iOS沙盒(sandbox)机制及获取沙盒的路径

2013-12-19 19:34 225 查看
一 每个ios的SDK都被限制在沙盒中,沙盒相当于一个仅主人可见的文件夹,苹果对沙盒有以下几点限制

1、每个应用程序都在自己的沙盒内运作,不可以访问其他应用程序的沙盒

2、沙盒间的数据是不可以共享的,沙盒中的文件不可以被复制到其他文件中,其他程序的文件也不可以被复制到沙盒中

3、苹果禁止读、写沙盒以外的文件,禁止将文件写进除沙盒以外的文件夹

4、沙盒目录里有三个文件夹documents、temp、labrary

documents一般把应用程序的数据文件存放在这里,用于存储用户数据及其他需要定期备份的数据

library底下有两个文件夹caches和preferences

caches存储应用程序再次启动所需要的信息

preferences包含用户对应用程序偏好设置的文件,但是不再这里进行设置

temp存放临时文件,即程序再次启动时不需要的数据

二 获取沙盒路径

(1)获取沙盒根目录的方法

1 用NSHomeDirectory获取

NSString *path = NSHomeDirectory();

NSLog(@“%@”,path);

2 用用户名获取

NSString *userName = NSUserName();

NSString *rootPath = NSHomeDirectoryForUser(userName);

NSLog(@“%@”,rootPath);

3 获取documents文件的路径

NSString *documentPath = [searchPathForDirectoriesInDomains[NSDocumentDirectory,NSUserDomainMask,YES]objectAtIndex:0];

documentPath = [documentPath stringAppendingPathComponent:@“dataPlist”];

4 获取tmp路径

NSString *tmpPath = NSTempororyDirectory();

NSLog(@“%@”,tmpPath);

5 获取caches路径

NSString *cachesPath = NSSearchPathForDirectoriesInDomains(NSCacheDirectory,NSUserDomainMask,YES)

NSString *cachesDir = [cachesPath objectIndex:0];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: