Xcode6 app沙盒目录
来源:互联网 发布:java中的观察者模式 编辑:程序博客网 时间:2024/05/20 13:08
从Xcode5 到Xcode 6 iOS应用的沙盒目录有所变化,基于Xcode5已经过时,所以这里就只介绍Xcode6 下的文件目录:
1、下图展示了Xocde6中app的目录
由上图可以看到Xcode6是通过 设备管理-》应用管理来组织文件的,在整个设备中存在不同操作系统的模拟器(通过GUID来命名),每个模拟器下有各自安装的应用(也是通过GUID来区分的),每个应用的data/containers目录下分别存在Bundle,Data,Shared三个目录。
Bundle文件夹下的存放的是应用的包,如下图
data文件夹下存放的是应用的数据文件,如下图
其中NSUserDefault(属性文件)文件存放在Libaray/Preference文件目录下
2、各个文件的作用
- <Application_Home>/AppName.app:存放应用程序自身
- <Application_Home>/Documents/:存放用户文档和应用数据文件
- <Application_Home>/Library/:应用程序规范的顶级目录,下面有一些规范定义的的子目录,当然也可以自定义子目录,用于存放应用的文件,但是不宜存放用户数据文件,和document一样会被itunes同步,但不包括caches子目录
- <Application_Home>/Library/Preferences,这里存放程序规范要求的首选项文件
- <Application_Home>/Library/Caches,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下
- <Application_Home>/tmp/,保存应用数据,但不需要持久化的,在应用关闭后,该目录下的数据将删除,也可能系统在程序不运行的时候做
4、代码获取路径
(1)获取沙盒数据路径
NSString *bundlePath =NSHomeDirectory();
NSLog(@"沙盒路径:%@",bundlePath);
(2)获取Documents文件路径
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentPath = [pathsobjectAtIndex:0];
NSLog(@"document路径:%@",documentPath);
(3)获取Library文件路径
paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask, YES);
NSString *libraryPath = [paths objectAtIndex:0];
NSLog(@"library路径:%@",libraryPath);
(4)获取Caches文件路径
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);
NSString *cachesPath = [pathsobjectAtIndex:0];
NSLog(@"caches路径:%@",cachesPath);
(5)获取temp文件路径
NSString *tempPath =NSTemporaryDirectory();
NSLog(@"temp路径:%@",tempPath);
- Xcode6 app沙盒目录
- 打开/查找xcode6的沙盒地目录
- 打开/查找xcode6的沙盒地目录
- Xcode6 app国际化
- xcode-APP的沙盒目录结构
- xcode6发布app的折腾
- XCODE6 提交至 App Store
- XCODE6 提交至 App Store
- XCODE6 提交至 App Store
- XCODE6 提交至 App Store
- xcode6和xcode5 沙盒路径 对比
- Xcode6之后沙盒路径的改变
- iOS App沙盒模型文件目录详解Swift版
- 查看真机app的沙盒目录
- XCode6中debug app的视图结构
- iOS xcode6最新提交app方法
- xcode6下面App Icon尺寸与命名
- Xcode6.1 快速找到App存储路径
- 人生是一场相遇
- POJ 2752 Seek the Name, Seek the Fame
- 线程同步之事件同步
- 在iOS8中本地通知不能显示的问题
- iOS8 CLLocationManager 的改变导致 locationManager didUpdateLocations不能被调用的解决办法
- Xcode6 app沙盒目录
- Intelligent IME
- javascript没有块级作用域
- [LeedCode OJ]#58 Length of Last Word
- Python 单元测试框架 —— PyUnit
- Android 5.0的调度作业JobScheduler
- JS获取当前手机浏览器可视区域大小
- 关于hibernate纯sql查询返回结果集的问题(hbm.xml中不写多表关联)
- 拍照/摄像