博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS目录解析 彻底搞懂iOS App的目录结构
阅读量:7090 次
发布时间:2019-06-28

本文共 1139 字,大约阅读时间需要 3 分钟。

App的构成

###每一个App都被放在沙盒(sandbox)中,在沙盒中,有一个ContainersContainers又被分为Bundle ContainerData Container

SandBox

  1. Containers
  2. Bundle Container
  3. Data Container

Containers下的目录:

Bundle下的目录:

Data 下的目录:

Bundle Container

所谓的Bundle Container就是我们所创建的工程,以.app结尾,就是一个可执行文件(如下图所示)。我们写代码时导入的图片,音频文件也都在这个目录下。

用代码访问该路径的方法:

NSString *bundleContainerPath = [[NSBundle mainBundle] bundlePath];NSLog(@"bundle container path:%@", bundleContainerPath);复制代码

Data Container

Data Container就是App存放数据的目录。该目录下又分为

  • Document //用户生成的数据(聊天记录,下载的文件等)
  • Libarary //应用生成的文件,以缓存为主。
  • Temp //临时文件。

用代码访问该路径的方法:

NSString *dataContainerPath = NSHomeDirectory();NSLog(@"data container path:%@", dataContainerPath);复制代码

访问Document目录:

// ios下只有一个document目录,所以firstObject即可NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];NSLog(@"document path:%@", documentPath);复制代码

![屏幕快照 2017-11-28 下午11.23.27.png](http://upload-images.jianshu.io/upload_images/5020103-aefc4bdacfbedd9a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

访问Temp方法:

NSString *tempPath = NSTemporaryDirectory();    NSLog(@"Temp path:%@", tempPath);复制代码

转载地址:http://osiql.baihongyu.com/

你可能感兴趣的文章
『中级篇』 Linux网络命名空间(25)
查看>>
JS计算精度小记
查看>>
js的各种距离计算(较全)
查看>>
微信小程序异步API为Promise简化异步编程
查看>>
关于java泛型大大小小的那些事
查看>>
此面试题版本落后-请勿观看
查看>>
分布式消息系统:Kafka
查看>>
在CentOS 7上编译Qtum
查看>>
我理解的foreach, for in, for of 之间的异同
查看>>
手把手实现图片懒加载+封装vue懒加载组件
查看>>
vue中使用iframe
查看>>
java - ReentrantLock和Condition实现生产者-消费者
查看>>
iview-admin多环境配置打包
查看>>
简易版本vue的实现
查看>>
Bug的处理流程
查看>>
针对前端开发可重用组件并发布到NPM
查看>>
Android组件化探索与实践
查看>>
2019BATJ面试题汇总详解:MyBatis+MySQL+Spring+Redis+多线程
查看>>
java 初识对象和对象引用的关系
查看>>
heic格式图片只有苹果可以打开吗,电脑如何打开heic
查看>>