OC - 沙盒

导读:

  • 一、什么是沙盒机制
  • 二、沙盒的特点
  • 三、沙盒的结构组成
  • 四、获取沙盒目录路径

一、什么是沙盒机制

  • iOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能从为该应用创建的文件夹内读取文件,不可以访问其他地方的内容。

二、沙盒的特点

  • 每个应用程序都在自己的沙盒内
  • 不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容
  • 应用程序向外请求或接收数据都需要经过权限认证

三、沙盒的结构组成

  • 大致可以认为沙盒是由Bundle和Data容器组成,Bundle内部存储着目录,经常用到的mainBundle包含了图像、媒体资源、编译好的代码、nib 文件等,Data容器包含Documents、Library、tmp三个目录文件。
  • Documents目录:程序中建立的或在程序中浏览到的文件数据保存在该目录下。
  • Library/Caches目录:存放缓存文件,保存应用程序再次启动过程中需要的信息。
  • Library/Preferences目录: 存储程序的默认设置或其它状态信息。
  • tmp目录:存放临时文件,保存应用程序再次启动过程中不需要的信息。
  • itues和iphone同步时,备份所有的Documents和library文件;iphone重启后会清空tmp目录。

四、获取沙盒目录路径

(一) Bundle容器
  • 获取plist文件路径
    NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"plist"];
  • 加载xib文件
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"viewController" owner:self options:nil] ;
(二) Data容器
  • 获取Data容器根路径
    NSString *homePath = NSHomeDirectory();
  • 获取Documents路径
    NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) firstObject];
  • 获取Caches路径
    NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES) firstObject];
  • 获取tmp路径
    NSString *tempPath = NSTemporaryDirectory();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.新建类 “sandBox”在sandBox.h中//写接口 pragma mark --- (封装沙河路径方...
    任任任任师艳阅读 981评论 0 0
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,273评论 30 472
  • 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应...
    彬至睢阳阅读 742评论 0 0
  • 沙盒目录 每个IOS 应用都应该有自己的应用沙盒(应用沙盒指的是文件系统目录),与其他的文件系统隔离,应用必须待在...
    rlqs阅读 1,506评论 0 0
  • 日记星球【原创】第15篇 我是日记星球259号星宝宝,正在参加日记星球21天蜕变之旅的学习。 2017.6.15 ...
    匠心Summer阅读 959评论 0 0