即使互联网连接断开,方法报告(_:withCompletionHandler :)是否也发送分数?

问题描述 投票:-1回答:2

我对GKScore有疑问。有一种称为report(_:withCompletionHandler:)的方法。如果您失去Internet连接会怎样?我需要保存分数并稍后提交吗?或方法本身解决。不会自动在后台发送吗?在此先感谢

swift game-center gamekit game-center-leaderboard gkscore
2个回答
0
投票

您可以尝试将其置于飞行模式。

但是,如果您尝试在没有互联网的情况下调用此方法,它将返回错误

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

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

import Alamofire

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

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


0
投票

摘自Apple的Game Center编程文档:

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

因此您无需执行任何操作。参考文档为here

© www.soinside.com 2019 - 2024. All rights reserved.