什么是沙盒机制?
iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在这里
每个应用程序位于文件系统的严格限制部分, 应用程序只能为该程序创建的文件系统中读取文件, 所有的应用程序在iOS系统内都放在了统一的文件夹目录下。盒子内的应用程序并不能访问到其它的程序数据, 相当于给予每一个人一个独立的空间, 而且不能同其他人做出交流。
沙盒的本质就是一个文件夹, 文件夹的名字是随机分配的。
我们可以通过Xcode的模拟, 我们可以以文件夹的形式查看文件夹
在iOS 7 以前和以后是不同的, 应用程序包和其它文件是放在一起的, 在iOS7 后将应用程序包独立出去放在了Bundle文件夹中
在每一个沙盒文件夹中都含有三个文件夹, 分别是: Documents文件夹(存储用户数据, 需要备份的信息)
Library文件夹, 文件夹中包含两个子文件夹: Library/Caces(存储缓存文件, 程序专用的支持文件) Library/Preferences(存储应用程序的偏好设置文件)
tmp:(存储临时文件) 比如: 下载的zip包, 解压后再删除
我们可以通过代码获取沙盒目录的一些路径
NSHomeDirectory(沙盒主路径)
NSLibraryDirectory(Documents文件夹)
NSLibraryDirectory(Library文件夹)
NSCavhesDiectory(Caches文件夹)
NSTemporaryDirectory(tmp文件夹)
前往 ->按住alt键, 我们可以发现一个资源库文件夹. 沙盒文件夹的目录如下图