您的位置:首页 > 移动开发 > Cocos引擎

【COCOS2DX-游戏开发之一】App数据保存目录

2012-12-11 17:30 429 查看
在IOS上开发游戏时,需要保存一些游戏数据,有些数据时临时数据,有些则需要永久保存,下面列出来了一些目录,数据文件在不同目录下有不同的保存结果:



[1] 一些重要的 app 目录

<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 备份。

[2] 大小写敏感的文件系统

iOS 系统大小写敏感 Case-Sensitive

[3] 与 desktop 计算机共享文件

文件共享可以使你的 app 和 desktop 计算机之间共享文件。

(5) 备份和恢复 Backup and Restore

ituns 会自动处理 app 数据的备份和恢复,但你需要了解哪些目录中的内容会被备份

[1] 备份什么

你的 app 不需要为备份/恢复做什么特殊准备。在 iOS 2.2 之后,当设备连接到一个计算机并同步后,ituns 会自动增量备份所有文件,除了以下目录中的内容不会备份

<Application_Home>/AppName.app

<Application_Home>/Library/Caches

<Application_Home>/tmp




尽管 ituns 会备份 app bundle 内容 (<Application_Home>/AppName.app),但是只是在第一次从 app store 上下载安装时备份,之后的连接同步不会备份这目录的内容。为了防止同步时间过长,你应该选择保存data 的目录, <Application_Home>/Documents 用来存放用户文档和 app data, 这些内容会被备份。对于临时产生的文件需要存放在 <Applicaiton_Home>/tmp 中,他不会被 ituns 备份。 如果你的 app
需要保存数据为下次 app 启动时使用,而且这些数据也不需要 ituns 备份,保存到文件<Application_Home>/Library/Caches 目录中。

程序中路径获取方式:

<Application_Home>/Documents 获取方式如下,其余的目录换参数就OK了

SSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);


转载地址:http://blog.csdn.net/happytengfei/article/details/8011728
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐