ios下App目录详解
2015-09-09 02:24
281 查看
目录详解
<Application_Home>/AppName.app
这个是存放 app bundle 文件的目录,不要往这个目录中写入其他内容。在 iOS2.1 之后 ituns 同步时不会备份这个目录。ituns 在第一从 app store 购买应用并安装时会做一次同步备份,之后的同步不会备份。
**<Application_Home>/Documents**
这个目录存放用户 documents 和 app data files. 这个目录中的内容可以通过共享给用户。Documents目录在重新安装过程中,会被系统拷贝一份到新安装拷贝中去,但如果直接卸载游戏再重新安装,这个目录的数据也将被清除
1.ituns 同步时会备份此目录中的内容。
2.游戏版本升级此目录的存档会被保存,防止用户升级游戏版本后存档丢失
<Application_Home>/Library
这个目录是一个用来存放非用户文件的顶级目录,Library 目录下会有一些标准的子目录,你也可以添加自定义的子目录。这个目录下的内容,除 Caches 子目录外,会在ituns 同步时备份。
<Application_Home>/Library/Preferences
这个目录用来存放 app 指定的 preferences files.需要使用 NSUserDefaults 类 或者 CFPreferences API 来设置/获取 app preferences. 这个目录中的内容会被 ituns 备份。
<Application_Home>/Library/Caches
这个目录用来写入一些 app 的支持文件,比如app 启动后需要持久化的一些data,你的app 负责写入和移除此目录中的内容。在 iOS2.2 之后,这个目录内容不会被 ituns 备份。 此目录下文件不会在应用退出后删除,但是升级版本会替换
cocos2d-x中下的CCFileUtils::sharedFileUtils()->getWriteablePath()和自带的保存数据CCUserDefault保存的目录都是caches目录
<Application_Home>/tmp/
这个目录用来写入临时文件,而不是应用需要持久化的data. 当文件不再使用你的 app 应该负责删除这些内容。如果你的应用不再运行,系统会删除这个文件夹中的内容。iOS 2.1
之后这个文件夹的内容不会被 ituns 备份。
注意事项
iOS 系统大小写敏感 Case-Sensitive文件共享可以使你的 app 和 desktop 计算机之间共享文件
ituns 会自动处理 app 数据的备份和恢复,但你需要了解哪些目录中的内容会被备份
你的 app 不需要为备份/恢复做什么特殊准备。在 iOS 2.2 之后,当设备连接到一个计算机并同步后,ituns 会自动增量备份所有文件,除了以下目录中的内容不会备份
<Application_Home>/AppName.app
<Application_Home>/Library/Caches
<Application_Home>/tmp
<Application_Home>/Documents用来存放用户文档和 app data, 这些内容会被备份
对于临时产生的文件需要存放在
<Applicaiton_Home>/tmp中,他不会被 ituns 备份
如果你的 app 需要保存数据为下次 app 启动时使用,而且这些数据也不需要 ituns 备份,保存到文件
<Application_Home>/Library/Caches目录中
程序中路径获取方式
<Application_Home>/Documents获取方式如下,其余的目录换参数就OK了
SSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
参考:
App数据保存目录
db保存在documents被拒的原因
相关文章推荐
- iOS-runtime-objc_setAssociatedObject(关联对象以及传值)
- Leetcode #202 Happy Number
- Runtime运行时机制
- cocos3.x更改layer,scene锚点
- 【Unity3D_常用模块】 事件管理器
- 加速Android Studio/Gradle构建
- Android采用ListView实现数据列表显示1-使用SimpleCursorAdapter进行数据绑定
- unity3d插件
- Unity 模型的制作规范
- Unity3D占用内存太大的解决方法
- 【Android】2015.09.08 第一行代码 Day6 Count:8
- Unity3D普通类和继承自MonoBehaviour类的区别
- android BaseAdapter
- Unity3D的Mono是什么
- unity3d AssetBundle包加密
- Unity bundle的制作和使用
- [苏州园区腾飞创新园/微往招聘]Java高级工程师、IOS研发工程师、Android研发工程师招聘!
- iOS textView 高度自适应
- WebView高度的获取,以及转码UTF8
- APPLE的证书介绍