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

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被拒的原因
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: