5

我正在创建支持 Game Center 的应用程序之类的游戏。当玩家正确地通过游戏中心验证但网络(wifi 或蜂窝网络)在我想要报告我的分数时不可用时,我在向排行榜报告分数时遇到问题。

我的应用程序适用于 iOS 5.0 及更高版本,根据文档 - 排行榜- 它应该像他们说的那样工作 - 我只使用该功能

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

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

但是当我在这种离线模式下关闭wifi,玩我的游戏并报告分数时,我重新在线时没有报告我的分数!:( 我的成就也有同样的问题。有什么技巧或已知问题吗?或者此功能仅适用于实时应用程序而不用于测试?

非常感谢。

4

2 回答 2

0

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

于 2013-02-05T16:45:46.737 回答
-1

禁用 Internet 连接后,您将无法通过 Game Center 进行身份验证。如果从来没有任何身份验证,您将无法利用 Apple 的自动重新提交。它们支持用户成功通过身份验证然后网络变得不可用的用例。

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

于 2012-12-13T03:03:15.313 回答