【代码笔记】iOS-iOS的目录
一、iOS中的沙盒机制
· iOS应用程序只能对自己创建的文件系统读取文件,这个独立、封闭、安全的空间,叫做沙盒。它一般存放着程序包文件(可执行文件)、图片、音频、视频、plist文件、sqlite数据库以及其他文件。
· 每个应用程序都有自己的独立的存储空间(沙盒)
· 一般来说应用程序之间是不可以互相访问
模拟器沙盒的位置
/User/userName/Library/Application Support/iPhone Simulator
当我们创建应用程序时,在每个沙盒中含有三个文件,分别是Document、Library和temp。
• Document:一般需要持久的数据都放在此目录中,可以在当中添加子文件夹,iTunes备份和恢复的时候,会包括此目录。
• Library:设置程序的默认设置和其他状态信息
• temp:创建临时文件的目录,当iOS设备重启时,文件会被自动清除
二,iphone沙盒的4个文件
1、Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。
2、AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。
3、Library 目录:这个目录下有两个子目录:Caches 和 Preferences
Preferences 目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.
Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。
4、tmp 目录:这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。
一,代码:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view. self.title=@"RootViewController"; //获取根目录
NSString*homePath = NSHomeDirectory();
NSLog(@"Home目录:%@",homePath); //获取Documents文件夹目录,第一个参数是说明获取Doucments文件夹目录,第二个参数说明是在当前应用沙盒中获取,所有应用沙盒目录组成一个数组结构的数据存放
NSArray*docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString*documentsPath = [docPath objectAtIndex:0];
NSLog(@"Documents目录:%@",documentsPath); //获取Cache目录
NSArray*cacPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString*cachePath = [cacPath objectAtIndex:0];
NSLog(@"Cache目录:%@",cachePath); //Library目录
NSArray*libsPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString*libPath = [libsPath objectAtIndex:0];
NSLog(@"Library目录:%@",libPath); //temp目录
NSString*tempPath = NSTemporaryDirectory();
NSLog(@"temp目录:%@",tempPath); }

二,输出:

2015-10-22 14:16:10.348 iOS的目录[11616:228589] Home目录:/Users/chenlihua/Library/Developer/CoreSimulator/Devices/A5073606-49E9-4561-9BEC-9EF95581E3CF/data/Containers/Data/Application/E283BABA-CB66-413E-849C-C0C2DC9AE9F7
2015-10-22 14:16:10.349 iOS的目录[11616:228589] Documents目录:/Users/chenlihua/Library/Developer/CoreSimulator/Devices/A5073606-49E9-4561-9BEC-9EF95581E3CF/data/Containers/Data/Application/E283BABA-CB66-413E-849C-C0C2DC9AE9F7/Documents
2015-10-22 14:16:10.349 iOS的目录[11616:228589] Cache目录:/Users/chenlihua/Library/Developer/CoreSimulator/Devices/A5073606-49E9-4561-9BEC-9EF95581E3CF/data/Containers/Data/Application/E283BABA-CB66-413E-849C-C0C2DC9AE9F7/Library/Caches
2015-10-22 14:16:10.349 iOS的目录[11616:228589] Library目录:/Users/chenlihua/Library/Developer/CoreSimulator/Devices/A5073606-49E9-4561-9BEC-9EF95581E3CF/data/Containers/Data/Application/E283BABA-CB66-413E-849C-C0C2DC9AE9F7/Library
2015-10-22 14:16:10.349 iOS的目录[11616:228589] temp目录:/Users/chenlihua/Lib

【代码笔记】iOS-iOS的目录的更多相关文章
- iOS沙盒目录结构解析
iOS沙盒目录结构解析 原文地址:http://blog.csdn.net/wzzvictory/article/details/18269713 出于安全考虑,iOS系统的沙盒机制规定每个应 ...
- iOS 沙盒目录结构介绍
iOS系统中,每个应用都有自己的沙盒,且应用只能访问其对应的沙盒目录下面的文件.当然,在用户授权的情况下,应用也可以访问其他目录下面的文件.比如,用户授权情况下,应用可以访问相册.通讯录.在开发中,经 ...
- iOS项目管理:目录结构和开发流程
iOS项目管理:目录结构和开发流程 最近正在做一个大版本的更新,现在在重构中.... 发现很多人在一个项目的开始不知道开发流程是什么,也不是非常清晰的知道一个项目该有目录结构.如果项目小或者是 ...
- IOS的工程目录结构和生命周期
IOS的工程目录结构和生命周期 ·simple table文件夹:工程相关源代码和配置文件 BIDAppDelegate : 委托的声明和实现 BIDViewController: 视图控 ...
- 一行代码巧妙实现iOS返回button
一行代码巧妙实现iOS返回button: self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithImage:[ ...
- 怎样用代码方式退出IOS程序
原文 :iOS Developer Library Technical Q&A QA1561 How do I programmatically quit my iOS application ...
- 简单地迁移你的android jni代码逻辑到iOS - 编写iOS下jni.h的替代 - ocni.h
1. jni的代码逻辑中与上层平台语言交互了. 2. 使用非Xcode的ide开发工具,希望使用纯净的c/c++代码,不掺杂其它平台相关的语言语法. 3. 只想简单地替换jni代码对上层平台语言的功能 ...
- 【Hadoop代码笔记】目录
整理09年时候做的Hadoop的代码笔记. 开始. [Hadoop代码笔记]Hadoop作业提交之客户端作业提交 [Hadoop代码笔记]通过JobClient对Jobtracker的调用看详细了解H ...
- 【Head-First设计模式】C#版-学习笔记-开篇及文章目录
原文地址:[Head-First设计模式]C#版-学习笔记-开篇及文章目录 最近一年断断续续的在看技术书,但是回想看的内容,就忘了书上讲的是什么东西了,为了记住那些看过的东西,最好的办法就是敲代码验证 ...
随机推荐
- [Auto Testing] 工具准备:Selenium 与 ChromeDriver
<留存> Selenium http://selenium-release.storage.googleapis.com/index.html https://www.seleniumhq ...
- iOS多线程---NSOperation介绍和使用
1. NSOperation实现多线程编程,需要和NSOperationQueue一起使用. (1)先将要执行的操作封装到NSOperation中 (2)将NSOperation对象添加到NSOpe ...
- 在vue-cli建的vue项目中使用sass
前面已使用vue-cli新建了一个vue项目,参考 使用命令行创建一个vue项目的全部命令及结果 首先看下新建项目的页面和代码,有部分修改,可忽视,如下图: 然后我们在页面添加sass的代码 ...
- easyUI的分页,只显示第X 共Y页。改为显示 第X 页 共Y页
如下图,easyUI的分页,只显示第X 共Y页. 需求需要显示 第X 页 共Y页. 解决办法:在easyui-lang-zh_CN.js更改以下代码,即可.也就是在 “共{pages}页”前面加个 “ ...
- Java的简单计算运用
上课的时候写的博客,哈哈哈哈没事情做了,明天就要放假了所以有点点按捺不住自己所以想到来写写程序,今天我发的是我们Java上课老师讲的代码,好像是Java的计算运用,但是这个代码有缺点,只能够输入的打出 ...
- chrome断点调试&&其他技巧
chrome断点调试 1. 在编写JavaScript代码时,如果 出现了bug,就要不断的去找错误,如果console控制台中提示还好说,可是没有提示恐怕就要费一番周折了.但是有了chrome这个浏 ...
- Java之集合(十六)ArrayBlockingQueue
转载请注明源出处:http://www.cnblogs.com/lighten/p/7427763.html 1.前言 JDK5是一个重要的更新版本,其提供了大量的并发类.之前的介绍都是一些util下 ...
- linux ping 命令解析
不管在windows平台,还是在linux平台,ping都是非常常用的网络命令:ping命令通过ICMP(Internet控制消息协议)工作:ping可以用来测试本机与目标主机是否联通.联通速度如何. ...
- 1-hadoop中遇到的各种异常
本贴记录学习hadoop中遇到的各种异常, 包括推荐系统分类下的和本分类下的, 持续更新 1, 搭建ha时, active和standy之间不能自由切换 经检查, 配置文件错误, 私钥配置 root ...
- 6-nginx-会话一致性解决(sesion一致)
由于tomcat使用的为集群, 通过nginx访问时轮询不同的tomcat, 使得session无法统一, 所以将session单独抽取出来做共享session. 此tomcat版本为 7.0.61. ...