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

IOS:沙盒机制

2013-12-15 21:28 274 查看
ios沙盒机制(SandBox)

iOS中的沙盒机制是一种安全体系,它规定了应用程序只能在为该应用程序创建的文件夹里读取文件,不可以访问其他地方的内容,所有的非代码文件都保存在这个地方,比如图片、声音、属性列表和文本文件等。

1.每个应用程序都在自己的沙盒内

2.应用程序间不能共享数据,不能随意去访问别的应用程序沙盒内容

3.应用程序向外请求或者接收数据都要经过权限认证。

4.沙盒根目录里有三个文件夹:Documents,一般应该把应用程序的数据文件存到这个文件夹里,用于存储用户数据或其他应该定期备份的信息。Library下有两个文件夹,Caches存储应用程序再次启动所需的信息,Preferences包含应用程序偏好设置文件,不过不要在这里修改偏好设置。temp,存放临时文件,即应用程序再次启动不需要的文件。

查找模拟器沙盒文件夹在Mac电脑上的位置:

点击Finder,选择“前往文件夹”,再出现的窗口里输入“~/library”,点击“前往”,选择Application Support>iPhone Simulator选择应用程序使用的模拟器型号,然后选择“
Applaction”, 就会出现所有模拟器应用程序的沙盒,点击你所想选择的应用程序沙盒,就会出现上述三个文件夹。

(1)获取沙盒根目录

1)用NSHomeDirectory()获取

NSString
*Path=NSHomeDirectory();

NSLog(@"path=%@",Path);

2)用用户名获取

NSString *userName=NSUserName();

NSString *RootPath=NSHomeDirectoryForUser(userName);

NSLog(@"rootPath=%@",RootPath);
(2)获取Document路径
NSString *documentPath=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSSystemDomainMask,YES)objectAtIndex:0];
[documentPathstringByAppendingString:@"plist.txt"];//在Document里面里添加文件
(3)获取temp文件路径
NSString *tempPath=NSTemporaryDirectory();

NSLog(@"tempPath=%@",tempPath);

(4)获取Caches文件路径

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,
YES);

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