簡體   English   中英

即使您的互聯網連接丟失,方法 report(_:withCompletionHandler:) 也會發送分數嗎?

[英]Does method report(_:withCompletionHandler:) send score even if your internet connection was lost?

我有一個關於GKScore的問題。 有一個名為report(_:withCompletionHandler:)的方法。 如果您失去 Internet 連接會發生什么。 我需要保存我的分數並稍后提交嗎? 或者方法本身解決了它。 不是在后台自動發送嗎? 提前致謝

來自 Apple 的 Game Center 編程文檔:

您的游戲應創建分數 object 並在獲得分數后立即將分數報告給 Game Center。 這樣可以准確設置日期和時間,並確保正確報告分數。 如果由於某種原因由於網絡錯誤而無法報告分數,Game Kit 會在網絡可用時自動重新發送數據。

所以你不必做任何事情。 參考文檔在這里

喲可以試試它把飛機模式。

但是,如果您嘗試在沒有 Internet 的情況下調用此方法,則會返回錯誤

您可以使用可達性獲取互聯網連接狀態。 如果您使用Alamofire ,它集成了一個非常好的可達性系統。

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

import Alamofire

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

否則,您可以保存您的請求以在有互聯網時發送。 NetworkReachabilityManager 將在啟用和禁用 Internet 時向您發送通知。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM