沙盒简介
2016-06-21 本文已影响33人
YuWenHaiBo
- 概念
- 每一个iOS程序都会为自己创建一个文件系统目录(文件夹),这个独立、封闭、安全的空间,叫做沙盒。
注:
1、每一个应用程序都会拥有一个应用沙盒。
2、应用程序沙盒就是一个文件系统目录。
iOS沙盒机制
- 1 沙盒是一种安全体系。
- 2 它规定了应用程序只能在为该应用程序创建的文件夹(沙盒)内访问文件,不可以访问其他沙盒的内容(iOS8已经开放部分访问)。
- 3 所有的非代码文件都保存在这个地方,比如图片、声音、属性列表(plist)、sqlite数据库和文本文件等。
沙盒机制的特点
- 1 每个应用程序的活动范围都限定在自己的沙盒里
- 2 不能随意跨越自己的沙盒去访问别的应用程序沙盒中的内容(iOS8 已经开放部分)
- 3 应用程序向外请求或接收数据都需要经过权限认证
沙盒文件系统目录
获取某个模拟器下某个应用程序沙盒的所在位置
查找某个应用程序的沙盒
- 第一种方式:
点击【前往】=> 同事按住Alt键=>选中【资源库】=>选中Developer 文件夹=>CoreSimulator =>Devices =>...=>data=>Containers =>Data=>Application=>...
*第二种方式
点击从本地硬盘逐级查找
沙盒主要构成
沙盒主要由Document、Library、tmp构成
-
Document:保存应用运行时生成的需要持久化的数据,iTunes会自动备份该目录。
-
苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录
-
Library: 存储程序的默认设置和其他状态信息,iTunes会自动备份该目录。
- 1Library/Cache:存放缓存文件,iTunes不会备份此目录,此目录不会子啊应用推出删除。一般存放体积比较大,不是特别重要的资源。
- 2 Library/Preference:保存应用的所有偏好设置,iOS的setting(设置)应用会在该目录中查找应用的设置信息,iTunes会自动备份该目录。
注意:
你不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好。 - tmp:保存应用运行时所需要的临时数据,使用完毕后将相应的文件从该目录删除。应用没有运行时,系统也有可能清除该目录下的文件,iTunes不会同步该目录。iPhone重启时,该目录的文件会被删除。