0

我有一个关于GKScore的问题。有一个名为report(_:withCompletionHandler:)的方法。如果您失去 Internet 连接会发生什么。我需要保存我的分数并稍后提交吗?或者方法本身解决了它。不是在后台自动发送吗?提前致谢

4

2 回答 2

2

来自 Apple 的 Game Center 编程文档:

您的游戏应在获得分数后立即创建分数对象并将分数报告给 Game Center。这样可以准确设置日期和时间,并确保正确报告分数。如果由于某种原因由于网络错误而无法报告分数,Game Kit 会在网络可用时自动重新发送数据。

所以你不必做任何事情。参考文档在这里

于 2019-11-12T20:40:28.707 回答
0

哟可以试试它把飞机模式。

但是,如果您尝试在没有 Internet 的情况下调用此方法,则会返回错误

您可以使用可达性获取互联网连接状态。如果您使用Alamofire,它集成了一个非常好的可达性系统。

如果您的游戏需要互联网才能玩,您可以使用以下方法阻止您的主屏幕:

import Alamofire

extension NetworkReachabilityManager {
    static var isConnectedToInternet: Bool {
        return NetworkReachabilityManager().isReachable
    }
}

否则,您可以保存您的请求以在有互联网时发送。NetworkReachabilityManager 将在启用和禁用 Internet 时向您发送通知。

于 2019-11-12T16:08:04.053 回答