IOS SDK详解之沙盒(一)图解+小工具

原创Blog,转载请注明出处 blog.csdn.net/hello_hwc

前言: IOS沙盒机制限制了App的访问权限,进而保护用户的数据信息。

一 查看沙盒结构

和一些百度来的博客显示隐藏稳文件的方式不同,本文也提供两种方式,简单粗暴。

方式一 使用工具simpholders(推荐)

下载链接 效果如图

方式二 直接使用代码

用以下代码,log出documents/路径

NSURL * url = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];

比如我Log出的结果

/Users/huangwenchen/Library/Developer/CoreSimulator/Devices/BD6BC40/AE5BF3760F67/Documents/

然后,双击finder->前往文件夹->把上述路径复制进去

二 沙盒目录介绍

沙盒的目录如图

不难看出,主要包括三大部分,Bundle,Data和iCloud。 而Data又包括三部分,Documents,Library,Temp. 然后,我们介绍下沙盒的每部分作用。

名称 作用

AppName.app App的Bundle包括app和app所有的资源(安装时候的图标,保存在应用包里的图片),只读。不会被Itunes备份,只会在最初始从App store的时候同步一次。

Documents/ 存储用户产生的内容。这个目录下的文件可以通过文件共享暴露给用户,也就是说,这个目录下存储的只能是你想暴露给用户的东西。iTunes备份

Library/ 非用户文件的顶级目录,用这个目录来存储哪些不想暴露给用户的文件。这个目录有很多子目录,在下文详细阐述。

tmp/ 临时文件,App应当在文件不需要使用的时候把该文件删除。存储那些不会在两次运行App都要使用的数据。不会被iTunes备份。

Library的子目录

名称 作用

Caches 写入那些App能够很容易重新创建的文件,App要管理这个目录,在适当的时候添加或者删除文件。例如网页的缓存文件。。

Preferences 用户偏好信息。例如NSUserDefaults久存储在这里

三 验证

这里打开我之前写的一个NSURLSession的Demo沙盒

我们通过上述的方式,打开沙盒看看,里面到底有什么东西。 先看看Bundle目录 我的模拟器装了三个软件,正好对应这里的三个Bundle

再看看Data目录,正好三个目录对应着上文的三个目录

, 可以看到,,在看看Library的字目录,对应存储着Cache,Cookie,和Preferences信息。

BTY:下一篇更新下如何用代码访问这些目录。另外,很多同学不知道Library目录和Document的区别,最大的区别就在上文表格的红字里。

你看报表时,梅里雪山的金丝猴刚好爬上树尖。

IOS SDK详解之沙盒(一)图解+小工具

相关文章:

你感兴趣的文章:

标签云: