沙盒机制(SandBox)是IOS中的一种安全机制,系统会为每个应用程序创建一个沙盒,而应用程序的仅能在这个沙盒中活动,无论是想要与其他程序通讯还是被其他程序访问都需要经过系统的认证。一个应用程序从安装到卸载期间所有产生数据都会存在自己的沙盒中。
沙盒中共有三个可见的文件夹,分别为Documents,Library,Tmp。每个文件夹都有不同的作用,若将数据存储在了错误的文件夹中,你的应用程序是不能通过Apple的应用审查的。因此熟悉这三个文件夹的作用还是很重要的。Documents文件夹主要存储数据库,并且由于Documents的文件要保存到iCloud中,Documents文件夹是有大小限制的。Library文件夹下的Caches文件夹中存储的是网络数据缓存与图片缓存。Tmp文件夹存储的则是一些临时文件,这些文件会在用完之后立即删除。
在你调试应用时有时会需要进到沙盒中查看数据的存储情况,进入沙盒文件夹有多种方法,本文给出一种:
一. 直接获取沙盒目录地址
NSString *sandBoxPath =NSHomeDirectory();
NSLog(@"sandBox目录:%@",sandBoxPath);
运行结果:
通过以上两行代码你可以获取当前应用程序的沙盒地址,将地址复制,之后右击Finder,在弹出的列表中点击前往文件夹,粘贴刚刚复制的地址,点击前往就可以前往沙盒文件夹了
沙盒文件夹如图所示: