文档章节

沙盒(sandbox)机制

W
 Who_Care_Who
发布于 2015/05/06 21:13
字数 764
阅读 22
收藏 0

1. 概述

    iOS应用程序只能在为该程序创建的文件系统中读取文件,不可以去其他的地方访问,此区域被称为沙盒,所有

    的非代码问价都存储在里面,例如图像、图标、声音、映像、属性列表、文本文件中。

    1.1 每个应用程序都有自己的存储空间

    1.2 应用程序不能翻过自己的围墙去访问别的存储空间的内容

    1.3 应用程序请求的数据都要通过权限检测,不符合条件的话,不会被放行。

2. 沙盒在mac中的位置

    文件都在个人用户文件夹的一个隐藏文件夹里,中文叫做资源库,英文名字叫做Library

    2.1 方法1、在终端下面输入:

显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false

  输入完点击Enter键,退出终端,重新启动finder就可以了

  重启Finder:鼠标单击窗口左上角的苹果标志-->强制退出-->Finder-->

打开资源库后找到/Application Support/iPhone Simulator/文件夹。这里面就是模拟器的各个程序的沙盒目录      了。

    2.2 方法2、在finded上点-》前往文件夹,输入/Users/username/Library/Application Support/iPhone         Simulator/  前往。username这里写你的用户名。

3. 沙盒的目录结构

    默认情况下,每个沙盒含有三个文件夹,Doucements, Library和tem,因为应用的沙盒机制,应用程序只能在这几个

文件中读写数据,

    Doucments:苹果建议将程序中建立的或在程序中浏览的文件数据保存在该目录下,ituns备份和恢复时会包括此目录。

   Library: 存储程序的牧人舍子或其他状态信息。

   Library/Cashes: 存放缓存文件,iTunes不会备份此目录,此目录下文件不会在退出应用是删除

   tem: 提供一个即使创建临时文件的地方。

   iTunes在与iPhone同步时,备份所有的Documents和Library文件。(Caches文件也备份?)

   注意: 一般在Documents目录下存放最重要而且不庞大的文件,否则iTunes备份需要花费较长时间。

    iPhone在重启时,会丢弃所有的tmp文件。

4. 沙盒中三个文件的路径获得方法

   获取Doucement目录

NSString *doucementPath = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES)[0];

  获取Cache目录

NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];

  获取Library目录

NSString *Librarypaths = NSSearchPathForDirectoriesInDoamins(NSLibraryDirectory,NSUserDomainMask,YES)[0];

  获取tmp目录

NSString *Tmppath = NSTemporaryDieectory();

5. 简单文件写入沙盒

   //获取doucement的路径
    NSString *doucementPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMa    sk, YES)[0];
    //在doucement路径后面拼接
    NSString *filepath = [doucementPath stringByAppendingPathComponent:@"1.txt"];
    
    NSArray *arr  = [[NSArray alloc]initWithObjects:@"小明",@"小红", nil];
    //写入文件
    [arr writeToFile:filepath atomically:YES];

6.简单文件读出

    //获取doucement的路径
    NSString *doucementPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMa     sk, YES)[0];
    
    NSString *filepath = [doucementPath stringByAppendingPathComponent:@"1.txt"];
    
    NSArray *arr = [[NSArray alloc]initWithContentsOfFile:filepath];






© 著作权归作者所有

W
粉丝 1
博文 69
码字总数 28284
作品 0
海淀
私信 提问
不信任的 .exe 怎么办,用 Windows 沙盒啊!

简评:维基百科,在计算机安全领域,沙盒(sandbox)是种安全机制,为执行中的程式提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。 微软正在尝试...

极小光
2018/12/27
0
0
iOS学习之iOS沙盒(sandbox)机制和文件操作(一)

1、iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表...

孔俊
2013/07/02
0
0
IOS沙盒(sandbox)机制和文件操作(一)

1、IOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表...

jackyyang
2012/07/14
0
1
iOS开发之沙盒机制(SandBox)

iOS APP可以在自己的沙盒里读写文件,但是,不可以访问其他APP的沙盒。每一个APP都是一个信息孤岛,相互是不可以进行通信的,唯独可以通过URL Scheme。沙盒里面的文件可以是照片、声音文件、...

TomatosX
2015/08/01
0
0
如何查看真机的沙盒(图文教程)

在iOS开发之沙盒机制(SandBox),我们了解到如何查看模拟器的沙盒内容。直接在Finder->前往->前往文件夹里输入: /Users/ligang/Library/Application Support/iPhone Simulator/ 这样就可以查...

TomatosX
2015/08/01
0
6

没有更多内容

加载失败,请刷新页面

加载更多

状态模式

//相当把一个State对象存到Context对象中,然后通过Context实例化对象调用保存的state对象去调用state的相应的方法 https://blog.csdn.net/syc434432458/article/details/51210361...

南桥北木
21分钟前
0
0
基于 Jenkins + JaCoCo 实现功能测试代码覆盖率统计

本文首发于:Jenkins 中文社区 使用 JaCoCo 统计功能测试代码覆盖率? 对于 JaCoCo,有所了解但又不是很熟悉。 "有所了解"指的是在 CI 实践中已经使用 JaCoCo 对单元测试代码覆盖率统计: 当...

Jenkins中文社区
28分钟前
3
0
聊聊Elasticsearch的OsProbe

序 本文主要研究一下Elasticsearch的OsProbe OsProbe elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/monitor/os/OsProbe.java public class OsProbe { private static f......

go4it
28分钟前
0
0
谈谈lucene的DocValues特性之NumericDocValuesField

在默认实现的DocValuesCosumer中,数值有可能分块存储也有可能放在一个数据块中存储。 分块的大小默认是16384,并且通过预先计算如果按一个块存储最大值与最小值的差所占用的比特数和分块存储...

FAT_mt
47分钟前
0
0
【BATJ】面试必问MySQL索引实现原理

BATJ面试题剖析 1、为什么需要使用索引? 2、数据结构Hash、平衡二叉树、B树、B+树区别? 3、机械硬盘、固态硬盘区别? 4、Myisam与Innodb B+树的区别? 5、MySQL中的索引什么数据结构? 6、...

须臾之余
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部