【问题标题】:Saving game progress on iCloud: best solution?在 iCloud 上保存游戏进度:最佳解决方案?
【发布时间】:2014-12-12 09:35:40
【问题描述】:

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

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

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

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

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

谢谢!

【问题讨论】:

    标签: ios xcode sync icloud


    【解决方案1】:

    在 iOS 8 中,您可能想查看 GKSavedGame — 它管理与 Game Center 玩家关联的已保存游戏并通过 iCloud 同步它们。

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

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

    【讨论】:

    • 谢谢!我将通过文档查找 GKSavedGame,听起来很有趣。
    • 看起来 GKSavedGame 需要启用 iCloud Drive。我不知道有多少用户启用了它,甚至不知道它到底是什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    相关资源
    最近更新 更多