【问题标题】:Game Center Leaderboard score only updates when app resumesGame Center 排行榜分数仅在应用恢复时更新
【发布时间】:2015-03-21 06:19:57
【问题描述】:

我的游戏中有一个 Game Center 排行榜,我使用自己的 GUI 使用从 GKLeaderboard loadScoresWithCompletionHandler 方法检索到的数据来显示它。

我使用GKScore reportScoresWithCompletionHandler 方法报告新分数。我的问题是,当我为本地玩家报告新的高分时,当我打开我的排行榜 GUI(这会强制调用 loadScoresWithCompletionHandler)时,玩家分数没有更新 - 它显示的是他刚刚击败的旧分数.

但是如果我关闭(而不是杀死)游戏,然后重新打开它并再次打开 GUI,嘿-presto,新的分数就会显示出来。

这告诉我,GameKit 中一定存在某种形式的内部缓存,当应用程序恢复时会被重置。我确实知道,在应用程序恢复时,GC 会调用我的 authenticationHandler 让我知道它已经重新验证了播放器,所以该方法中的某些东西可能会擦除设置的任何内部缓存?

这是我开发的第一款使用自定义 UI 而非原生 GC 视图控制器显示 Game Center 数据的游戏,我从未遇到过这个问题。有没有人有类似的经验,可以告诉我为什么GKLeaderboard loadScoresWithCompletionHandler 给我旧数据?

【问题讨论】:

    标签: ios objective-c game-center leaderboard game-center-leaderboard


    【解决方案1】:

    我遇到了同样的问题,这让我彻夜难眠,尤其是在 stackoverflow 和其他论坛上没有看到与此相关的答案。 然后,我在某个地方发现他们在关卡完成时报告新分数。我将按钮从提交排行榜更改为显示排行榜,它解决了这个问题。我正在使用 GC 视图控制器。我只是调用 showleaderboard,因为它是一个非自定义排行榜。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-07
      • 1970-01-01
      • 2014-12-01
      相关资源
      最近更新 更多