如果网络不可用,Game Center / GameKit报告得分

时间:2012-11-13 12:31:21

标签: ios game-center gamekit achievements leaderboard

我正在创建像支持Game Center的应用程序这样的游戏。当玩家正确认证游戏中心但在我想报告我的分数时网络(wifi或手机)不可用时,我在向排行榜报告得分时遇到问题。

我的应用适用于iOS 5.0及更高版本,根据文档 - Leaderboards - 它应该像他们说的那样工作 - 我只使用函数

- (void)reportScoreWithCompletionHandler:(void (^)(NSError *error))completionHandler and 

  

如果出于某种原因,由于a而无法报告分数   网络错误,Game Kit会自动重新发送数据   网络变得可用。

但是当我关闭wifi,玩这个游戏并在此离线模式下报分时,我的分数在我重新上线时没有报告! :(与我的成就有同样的问题。是否有任何技巧或已知问题?或者此功能仅适用于实时应用而非测试?

非常感谢。

2 个答案:

答案 0 :(得分:0)

我一直在看一些类似的问题。这不是答案,但可能指向问题。与NathanChristie的答案相反,当WiFi被禁用时,您可以通过身份验证,因为我刚刚尝试使用飞行模式进行相同的操作,并且即使没有网络也能够对我的用户进行身份验证。同样发生的事情是,Game Center似乎有一个旧的verison,我的成就被缓存并在被问及时显示。可能是如果您尝试报告和实现或排行榜更新,并且数据的缓存版本无法识别它,那么它将忽略更新。如果我收到更多信息,我会更新。

答案 1 :(得分:-1)

禁用互联网连接后,您无法通过游戏中心进行身份验证。如果从未进行任何身份验证,则无法利用Apple的自动重新提交。它们支持用户已成功通过身份验证然后网络不可用的用例。

基本上,如果您在进行身份验证后调用reportScore:forLeaderboardID:,无论您是否有网络连接,Apple都应自动提交您的分数对象(在某个未定义的时间/间隔)。