我可以在iCloud中存储c ++二进制文件吗?

时间:2012-09-27 15:28:06

标签: iphone c++ objective-c ios icloud

我有一个主要用C ++编写的ios游戏,它以标准的c ++二进制格式存储游戏数据。我想添加iCloud支持,但我不确定是否可以将此类文件上传到iCloud。

有可能吗?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:1)

为什么不呢?应用程序的Documents文件夹中的任何文件都将在iCloud上备份。

如果无法重新创建此文件(例如它是一个存档游戏,而不是缓存文件),那么我认为没有问题。

文档说明:

  

将用户数据放在/ Documents /中。用户数据是任意的   您的应用无法重新创建的数据,例如用户文档和   其他用户生成的内容。

...

  

位于Documents子目录中的每个文件或文件包(或   其中一个子目录)呈现给用户(通过iCloud UI   在OS X和iOS中)作为可以删除的单独文档   单独

http://developer.apple.com/library/ios/#documentation/FileManagement/Conceptual/FileSystemProgrammingGUide/FileSystemOverview/FileSystemOverview.html

答案 1 :(得分:1)

您的应用或游戏的iCloud文档可以具有您想要的任何内部格式 - 您不必使用NSDocument类。

请注意,iCloud备份与iCloud Documents不同。将用户数据放入Documents文件夹将导致它作为设备备份的一部分备​​份到iCloud,但不会导致它同步到其他设备。为此,您需要使用iCloud APIs来正确协调同步过程。

您可以保存将被视为单个项目的非特定数据,也可以保存用户可以逐个删除的“文档”,例如,当它们空间不足时。您可以通过单击iCloud首选项中的“管理”来查看其工作原理。

如果您需要存储的数据不是太大(几千字节),我建议您查看key-value store,这比文档API简单得多。可以使用NSData在那里存储二进制数据。最近,键值存储的限制已提升至1MB和1024键。