一 查看沙盒结构

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

方式一 使用工具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信息。 

iOS_SN_详解沙河(转载)的更多相关文章

  1. linux进程地址空间详解(转载)

    linux进程地址空间详解(转载) 在前面的<对一个程序在内存中的分析 >中很好的描述了程序在内存中的布局,这里对这个结果做些总结和实验验证.下面以Linux为例(实验结果显示window ...

  2. Spring AOP详解(转载)所需要的包

    上一篇文章中,<Spring Aop详解(转载)>里的代码都可以运行,只是包比较多,中间缺少了几个相应的包,根据报错,几经百度搜索,终于补全了所有包. 截图如下: 在主测试类里面,有人怀疑 ...

  3. DNS解析过程详解(转载)

    DNS解析过程详解(转载) DNS Domain Name System 域名系统,它就是根据域名查出IP地址.    先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址ww ...

  4. 高并发网络编程之epoll详解(转载)

    高并发网络编程之epoll详解(转载) 转载自:https://blog.csdn.net/shenya1314/article/details/73691088 在linux 没有实现epoll事件 ...

  5. ServletConfig详解 (转载)

    ServletConfig详解  (转载)   容器初始化一个servlet时,会为这个servlet建一个唯一的ServletConfig.容器从DD读出Servlet初始化参数,并把这些参数交给S ...

  6. Uiautomator ——API详解(转载http://www.cnblogs.com/by-dream/p/4921701.html)

    转载来源: 简单的例子 以一个简单的例子开始吧.我们完成一个 " 打开QQ,进入QQ空间,然后退出 " 的case. 代码如下: package QQ; import java.i ...

  7. JScript中的条件注释详解(转载自网络)

    JScript中的条件注释详解-转载 这篇文章主要介绍了JScript中的条件注释详解,本文讲解了@cc_on.@if.@set.@_win32.@_win16.@_mac等条件注释语句及可用于条件编 ...

  8. BIND9配置文件详解模板[转载]

    在CU上看到了一篇关于BIND9配置文件详解的文章,感觉不错,现转载了分享一下. //named.conf 注释说明 by shellyxz@163.com// 此文件对bind9的默认配置文件的说明 ...

  9. Tomcat内存溢出详解【转载】

    本文转载自 http://elf8848.iteye.com/blog/378805 Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryEr ...

随机推荐

  1. 动态绑定、阻止继承,final类和方法

    1.编译器查看对象的声明类型和方法名.当调用 x.f(param); 且隐式参数x生命为C类对象.这时候可能有多个名字都叫f,但是参数类型不一样的方法.编译器会一一列举C类中名为f的方法和其超类中访问 ...

  2. UVA 1344 Tian Ji -- The Horse Racing

    Tian Ji -- The Horse Racing Here is a famous story in Chinese history. That was about 2300 years ago ...

  3. js学习笔记——数组方法

    join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1# ...

  4. 有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。

    #include <iostream> using namespace std; int main() { int i,j,n,m,k,*p,num[100];k=m=0;   cin&g ...

  5. Ubuntu 12.04 更新源

    转载自:http://www.cnblogs.com/eastson/archive/2012/08/24/2654163.html 1.首先备份Ubuntu12.04源列表 sudo cp /etc ...

  6. WCF的执行过程

    既然是实现互通信.那么肯定会有概念意义上的服务端Server  和概念意义上的客户端 Client,在这里,我所说明的都是概念意义上的,单独强调此,是因为,基于WCF的通信没有物理上的划分,但是概念上 ...

  7. 只允许指定的ip访问本机的指定端口22:

    只允许指定的ip访问本机的指定端口22: 允许的的ip:192.168.1.123, 192.168.1.124, 192.168.1.100,其他ip都禁止访问. 切换到root用户 1.在tcp协 ...

  8. startkde出现$DISPLAY is not set or cannot connect to the X server

    #startkde $DISPLAY is not set or cannot connect to the X server 解决: xinit /usr/bin/startkde --displa ...

  9. DateTime字段控件值显示短格式的做法

    后台取dateTime格式,前台格式化就好了 <input type="text" name="txtPartyTime" id="txtPar ...

  10. Windows下编译eXosip、osip,以及UAC和UAS的例子

    今天开始了SIP开源库的学习,我选择了osip和eXosip,但是这两个库的编译使用有些麻烦,源码下来之后编译会出现很多问题,网上也没有找到完整的编译介绍,只能一步一步的找办法解决,最后终于编译成功! ...