[英]GameCenter - GKTurnBasedMatch.loadMatchesWithCompletionHandler returns nil array
我已經為我的游戲設置了GameCenter回合制比賽。 現在,我只是想顯示當前GK播放器的當前比賽列表。
這是我的代碼:
GKTurnBasedMatch.loadMatchesWithCompletionHandler { (matchesOpt, errorOpt) in
if let error = errorOpt {
print("Error loading matches: \(error.localizedDescription)")
} else if let matches = matchesOpt {
self.matches = matches
self.gamesTableView.reloadData()
} else {
print("Matches array is nil")
}
}
}
第三種情況總是命中,matches數組為nil。
我認為應該有比賽。 我正在使用
GKTurnBasedMatch.findMatchForRequest
開始比賽,並且成功了。 此外,如果我注意到findMatchForRequest中的匹配項的matchId,然后調用
GKTurnBasedMatch.loadMatchWithID(matchId)
它找到具有正確匹配數據和所有內容的匹配項。
有誰知道我如何獲得loadMatchesWithCompletionHandler來返回我可以通過id檢索的相同游戲?
編輯:這是驗證碼:
GKLocalPlayer.localPlayer().authenticateHandler = { (viewControllerOpt, errorOpt) in
NSLog("GK local player authentication finished. Error: \(errorOpt)")
if let viewController = viewControllerOpt {
self.presentViewController(viewController, animated: true, completion: nil)
}
GKLocalPlayer.localPlayer().registerListener(self)
}
似乎最近有很多人遇到這個問題。 不確定是否相關,但是引用的示例始終使用swift。 基於如何列出播放器的所有可用GKTurnBasedMatches? 看起來只要創建排行榜就可以解決問題。
根據https://stackoverflow.com/a/34056115/1641444上的線程,似乎Game Center有時會變得愚蠢,無論出於什么原因,創建排行榜/成就,甚至只是更改默認設置,踢都會重新啟動付諸行動。
自兩個星期以來,我遇到了同樣的問題。 從一秒鍾到另一秒鍾,它一直在工作,@ apple似乎是一個問題。 進行任何更改,然后重試:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.