一、简介

iOS的沙盒机制,每个应用只能访问自己应用目录下的文件。iOS应用产生的内容,如文件、缓存内容等都必须存储在自己的沙盒内。默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。Library包含Caches、Preferences目录。

             

上面的完整路径为:用户->资源库->Application Support->iPhone Simulator->6.1->Aplications

Documents:苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录
Library:存储程序的默认设置或其它状态信息;

Library/Caches:存放缓存文件,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下。

Library/Preference:偏好设置是专门用来保存应用程序的配置信息的,偏好设置会将所有的数据都保存到同一个Plist文件中。

tmp:提供一个即时创建临时文件的地方,但不需要持久化,在应用关闭后,该目录下的数据将删除,也可能系统在程序不运行的时候清除。

二、获取应用沙盒路径

2.1、获取根(Home)路径:

  1. -(void)dirHome{
  2. NSString *dirHome=NSHomeDirectory();
  3. NSLog(@"app_home: %@",dirHome);
  4. }

2.2、获取Documents目录路径:

    //获取Documents目录

  1. -(NSString *)dirDoc{
  2. //[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
  3. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  4. NSString *documentsDirectory = [paths objectAtIndex:0];
  5. NSLog(@"app_home_doc: %@",documentsDirectory);
  6. return documentsDirectory;
  7. }

2.3、获取Library目录路径:

  1. //获取Library目录
  2. -(void)dirLib{
  3. //[NSHomeDirectory() stringByAppendingPathComponent:@"Library"];
  4. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
  5. NSString *libraryDirectory = [paths objectAtIndex:0];
  6. NSLog(@"app_home_lib: %@",libraryDirectory);
  7. }

2.4、获取Cache目录路径:

        //获取Cache目录

  1. -(void)dirCache{
  2. NSArray *cacPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
  3. NSString *cachePath = [cacPath objectAtIndex:0];
  4. NSLog(@"app_home_lib_cache: %@",cachePath);
  5. }
 

2.5、获取Tmp目录路径:

  1. //获取Tmp目录
  2. -(void)dirTmp{
  3. //[NSHomeDirectory() stringByAppendingPathComponent:@"tmp"];
  4. NSString *tmpDirectory = NSTemporaryDirectory();
  5. NSLog(@"app_home_tmp: %@",tmpDirectory);
  6. }

最新文章

  1. WPF系列 Path表示语法详解(Path之Data属性语法)
  2. c# WebClient Get Post 方法
  3. Visual Studio 2015 社区版.专业版.企业版[含安装密钥Pro&Ent]
  4. iOS之duplicate symbols for architecture x86_64错误
  5. mysql 之权限介绍
  6. 什么是内存泄漏?(What is a memory leak?)
  7. JAVA_SE基础——25.面向对象练习
  8. Linux(七)开机,重启和用户登录注销
  9. 就这么 来ADO.net类操作数据库
  10. spawn-fcgi启动的一些报错问题
  11. JVM中的堆和栈
  12. c/c++ 类成员变量,成员函数的存储方式,以及this指针在c++中的作用
  13. HDU 3333 Turing Tree 离线 线段树/树状数组 区间求和单点修改
  14. [c/c++] programming之路(9)、运算优先级
  15. php获取当月天数及当月第一天及最后一天
  16. 修改Eclipse主题与Eclipse中使用SVN
  17. ACE的源码划分
  18. 动态改变UITabBarController的菜单文字
  19. 钉钉开发c#帮助类 获取用户信息 DingHelper.cs
  20. C输出大于127的ACSII字符

热门文章

  1. jsp:jstl标签之控制流程
  2. sikiA计划问题记录
  3. 获得Version和Build版本号
  4. Effective Objective-C手记
  5. HDU 1711 kmp+离散化
  6. LeetCode OJ:Binary Tree Inorder Traversal(中序遍历二叉树)
  7. 利用HTML5开发Android笔记(下篇)
  8. Mat ,IplImage, CvMat 之间的转换的总结
  9. Busybox shell脚本修改密码
  10. 用Java实现异构数据库的高效通用分页查询功能