在iCloud上保存游戏进度:最佳解决方案?

时间:2014-10-16 21:29:49

标签: ios xcode sync icloud

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

由于互联网需要玩游戏,我想只在线保存游戏,而不是本地保存。当应用程序打开时,它应该从服务器下载已保存的游戏,一旦完成,启动游戏。

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

最好的方法是什么?是否可以通过iCloud?键值似乎很乱,因为它不能与iCloud快速同步。那么核心数据呢?

我不是在寻找要复制和粘贴的代码,但是我想创建一个讨论来找出这种情况的最佳解决方案,如果它是iCloud,设置我自己的服务器等等。我到处都看人们说不同的事情,但到目前为止,我找不到最好的解决方案。

谢谢!

1 个答案:

答案 0 :(得分:5)

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

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

也可以使用核心数据或CloudKit,但听起来比你的游戏需要更复杂。