美文网首页
OC - 沙盒

OC - 沙盒

作者: 千山小畻 | 来源:发表于2016-06-21 23:24 被阅读187次

    导读:

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

    一、什么是沙盒机制

    • 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();

    相关文章

      网友评论

          本文标题:OC - 沙盒

          本文链接:https://www.haomeiwen.com/subject/nfygdttx.html