iOS 沙盒目录

App Sandbox 目录结构

1.Documents目录:
用于存储非常大的文件或需要非常频繁更新的数据,能够进行iTunes或iCloud的备份。获取方式:

NSArray*array =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

// 在iOS中,只有一个目录跟传入的参数匹配,所以这个集合里面只有一个元素

NSString*docPath = [array objectAtIndex:0];或:NSString*docPath = [array lastObject];
  • Documents 存放内容我们可以将应用程序的数据文件保存在该目录下。不过这些数据类型仅限于不可再生的数据,可再生的数据文件应该存放在Library/Cache目录下,会被iTunes同步。
  • Documents/Inbox 存放内容该目录用来保存由外部应用请求当前应用程序打开的文件。比如我们的应用叫A,向系统注册了几种可打开的文件格式,B应用有一个A支持的格式的文件F,并且申请调用A打开F。由于F当前是在B应用的沙盒中,我们知道,沙盒机制是不允许A访问B沙盒中的文件,因此苹果的解决方案是讲F拷贝一份到A应用的Documents/Inbox目录下,再让A打开F,会被iTunes同步

2.tmp目录:
这是临时文件目录,用于保存应用运行时所需的临时数据。使用完毕后再将相应的文件从该目录删除。应用没有运行时,系统也可能会清楚该目录下的文件。它不能够进行iTunes或iCloud的备份。获取方式:

NSString*tmpDirectory =NSTemporaryDirectory();

3.Library目录:
Library目录下面包含两个子目录,分别是Preferences和Caches。Library/Preferences 保存应用的所有偏好设置,iOS的设置(Settings)应用会在该目录中查找应用的设置信息。iTunes同步设备时会备份该目录。可以通过NSUserDefaults类存取该目录下的设置信息。Library/Caches保存应用运行时生成的需要持久化的数据。iTunes同步设备时不会备份该目录。一般存储体积大,不需要备份的非重要数据。获取方式:

NSArray*array =NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);NSString*cachesPath = [array objectAtIndex:0];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • “iOS应用安全权威指南”读书笔记 “第一部分”为iOS基础,共包括一、二、三章 第一章:iOS安全模型 ...
    武当霍元甲阅读 5,872评论 1 1
  • 01.devops介绍 DevOps(Development和Operations的组合词)是一组过程、方法与系统...
    点亮生活501阅读 2,981评论 0 1
  • iTunes iTunes是由苹果公司开发的媒体播放器,媒体库,在线广播电台和移动设备管理应用程序。它用于播放,下...
    dweet阅读 5,857评论 0 0
  • 沙盒中的目录 AppName.app 内容:此目录包含了应用程序及其所有资源文件。 读写操作:不能写入该目录,可以...
    devRen阅读 15,563评论 0 8
  • 201801100139,你的第一声哭声,在妈妈的剧烈疼痛将近12个小时之后来了,那一刻,能感觉到你真正的到来了...
    实记哥哥阅读 1,891评论 0 0

友情链接更多精彩内容