我正在使用swift编程开发ios 8应用程序。 我正在尝试使用gamecentercontroller显示游戏中心排行榜。但每次它都显示挑战状态而不是排行榜。这是我用过的代码。
func showLeaderboard()
{
var gcViewController: GKGameCenterViewController = GKGameCenterViewController()
gcViewController.leaderboardIdentifier = myLeaderboardIdentifier
gcViewController.viewState = GKGameCenterViewControllerState.Leaderboards
gcViewController.gameCenterDelegate = self
let vc = self.view?.window?.rootViewController
vc?.presentViewController(gcViewController, animated: true, completion: nil)
}
当我尝试使用默认状态时
gcViewController.viewState = GKGameCenterViewControllerState.Dafault
然后它显示一个空白的白色视图(甚至没有挑战)
只是一个疯狂的怀疑"它与沙盒模式有什么关系)
有人请帮忙。长期坚持下去。
答案 0 :(得分:1)
当我向Apple写信时,它自动开始了。 似乎是苹果公司的一个问题。
答案 1 :(得分:0)
尝试使用以下代码。请务必将YourLeaderboardID
替换为您的实际排行榜ID。您的代码看起来与我的完全相同,但可能代码行的顺序是错误的。
func showLeaderboard() {
var gcViewController: GKGameCenterViewController = GKGameCenterViewController()
gcViewController.gameCenterDelegate = self
gcViewController.viewState = GKGameCenterViewControllerState.Leaderboards
gcViewController.leaderboardIdentifier = "YourLeaderboardID"
self.showViewController(gcViewController, sender: self)
self.presentViewController(gcViewController, animated: true, completion: nil)
}
答案 2 :(得分:0)
它发生在我身上,我最终来到这里。 我不知道它是否对某人有用,但在我的情况下,原因是我在飞机模式下离线在获得认证后。