SendBox(沙盒)

阅读: 评论:0

SendBox(沙盒)

SendBox(沙盒)

iOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在本应用的文件夹内读取文件,不可以访问其他区域的内容,此区域被称为沙盒。所有的非代码文件都保存在这个地方,比如图片、声音、属性列表和文本文件等。关于沙盒需要提前了解下面的几个要点:

每个应用程序都有属于本应用的沙盒存储空间。
应用程序不能随意跨越自己的沙盒去访问其他的应用程序沙盒的内容。
应用程序向外读写数据都需要经过权限认证。

默认情况下,每个应用的沙盒包含3个文件夹:Documents、Library和tmp。由于沙盒机制的存在,应用只能在这几个目录中读写文件。

Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录。
Library:存储程序的默认设置或其他状态信息,其中又包含了Caches文件夹和Preferences文件夹。
Library/Caches:存放缓存文件,iTunes不会备份此目录,但此目录下文件在应用退出时不会被删除。
Library/Preferences:存放偏好设置的plist文件。
tmp:提供一个即时创建临时文件的地方。

在Foundation框架中提供了用于快速获取沙盒相关路径的方法和函数,可以快速定位应用程序对应的沙盒路径。

// 获取App沙盒路径
NSString *homePath = NSHomeDirectory();
// 获取沙盒中Documents文件夹目录
NSArray *documentsArr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [documentsArr objectAtIndex:0];
// 获取Library文件夹目录
NSArray *libraryArr = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libraryPath = [libraryArr objectAtIndex:0];
// 获取Caches文件夹目录
NSArray *cachesArr = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachesPath = [cachesArr objectAtIndex:0];
// 获取tmp文件夹目录
NSString *tmpPath = NSTemporatyDirectory();

 

本文发布于:2024-01-28 19:43:48,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064422329821.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:SendBox   沙盒
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23