我已经为我的游戏设置了基于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数组为空。
我想应该有火柴。我正在使用
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)
} 发布于 2016-05-20 01:05:10
最近似乎有很多人都遇到过这种情况。不确定它是否相关,但引用的示例一直在使用swift。基于How to list all available GKTurnBasedMatches for a player?,看起来只要创建一个排行榜就可以解决这个问题。
基于https://stackoverflow.com/a/34056115/1641444的帖子,似乎有时游戏中心会变得麻木,无论出于什么原因,创建排行榜/成就,甚至只是更改默认设置,kick都会重新启动它。
发布于 2016-04-24 04:26:28
两周以来,我也遇到了同样的问题。从一秒到另一秒,它都在工作,似乎是一个问题@apple。不做任何更改,然后重试:)
https://stackoverflow.com/questions/36503517
复制相似问题