1、沙盒机制
绝大部分iOS应用都会用到数据持久化处理,方式有很多,比如通过属性列表、对象归档、数据库或者是苹果官方提供的工具Core Data等方式。但是都有一个共同的元素,那就是沙盒。每一个iOS应用程序都有一个自己的沙盒路径,苹果公司对应用程序沙盒主要做了以下几条限制:
1、应用程序只能访问自己的沙盒内文件,不能越过这个范围访问其他应用程序下的文件。
2、应用程序间不能共享数据,不能跨越沙盒拷贝和存储数据文件。
2、沙盒目录
我们通过电脑不难找到模拟器应用程序的沙盒文件夹,鼠标点到桌面空白处->前往->按住alt键->选择资源库->iPhone Simulator,这时候就会看到不同iOS版本的文件夹。
随便选择一个版本进入到下一级目录,然后打开Applications文件夹,就会看到一系列应用程序的沙盒文件夹,它们的名称是一个比较长的字符串,这些名称都是由xcode随机生成的全局唯一的标识符。
打开其中的一个应用程序文件夹,现在就可以看到沙盒路径下的所有文件了,包括Documents、Library、tmp还有应用程序本身文件。
下面来分别看一下每个文件夹做的事情。
Documents:应用程序将数据存储在Documents中,但是基于NSUserDefaults的首选项除外。
Library:
prefrences:基于NSUserDefaults的首选项存储在Library/prefrencens文件夹中。
catch:存放缓存文件,重启iPhone不会被清理。
Tmp:Tmp目录供应用程序存储临时文件。当iOS应用执行同步操作的时候,iTunes不会备份tmp文件夹中的文件。在不需要这些文件的时候,应用程序要负责删除tmp中的文件,以免占用文件系统的空间。
有问题请指正,谢谢!下篇将和大家共同学习如何访问沙盒目录下的每个文件夹。