码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-04-03 17:34:58      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:ios   沙盒   sandbox   图解   工具   

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


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


一 查看沙盒结构

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

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

下载链接
http://simpholders.com/
效果如图
技术分享


方式二 直接使用代码

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

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

比如我Log出的结果

/Users/huangwenchen/Library/Developer/CoreSimulator/Devices/158D1CE6-0444-454B-B248-798726D6BC40/data/Containers/Data/Application/77B749FB-7B2F-4AE5-BE24-039BF3760F67/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详解之沙盒(一)图解+小工具

标签:ios   沙盒   sandbox   图解   工具   

原文地址:http://blog.csdn.net/hello_hwc/article/details/44855547

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!