我正在开发一个新的iOS游戏,并希望通过iCloud在线保存进度。节省是相当频繁的,但是它们大多是带有分数,解锁和NSDate数字的双打和整数。

由于需要互联网才能玩游戏,所以我只想在线保存游戏,而不是本地保存。当应用打开时,应从服务器下载已保存的游戏,完成后,启动游戏。

在线货币将通过IAP出售,因此我想确保即使删除并重新安装了游戏,进度也不会丢失,并且当然可以在同一用户的多个设备上使用。

最好的方法是什么?是否可以通过iCloud?键值似乎一团糟,因为它无法与iCloud快速同步。那么核心数据?

我不是在寻找要复制和粘贴的代码,但我想进行一次讨论,以找出针对这种情况的最佳解决方案,例如iCloud,设置我自己的服务器等。但到目前为止,我找不到最佳的解决方案。

谢谢!

最佳答案

在iOS 8中,您可能需要查看 GKSavedGame -它管理与Game Center播放器关联的已保存游戏,并通过iCloud对其进行同步。

否则,对于您的用例而言,直接使用iCloud API听起来很合理。如果您编写了一组定义明确的小型值,那么无处不在的键值存储将非常易于使用。如果您的保存游戏更加复杂,请写出属性列表或使用NSKeyedArchiver编码自定义对象,然后使用NSFileManager API通过iCloud同步生成的文件。

也可以使用Core Data或CloudKit,但听起来比您的游戏需要更复杂。

10-07 19:13
查看更多