iOS_SN_详解沙河(转载)

一 查看沙盒结构

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

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

下载链接 
http://simpholders.com/ 
效果如图 


方式二 直接使用代码

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

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

比如我Log出的结果

/Users/huangwenchen/Library/Developer/CoreSimulator/Devices/158D1CE6-0444-454B-B248-798726D6BC40/data/Containers/Data/Application/77B749FB-7B2F-4AE5-BE24-039BF3760F67/Documents/
  • 1

然后,双击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信息。 
这里写图片描述

原文地址:https://www.cnblogs.com/zhang-kiwi/p/5225268.html