iOS 8应用程序使用Swift编写,排行榜显示为Game Center挑战

4

我正在使用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

然后它显示一个空白的白色视图(甚至没有挑战)

只是一个疯狂的疑问“这与沙盒模式有关吗?”

请有人帮忙解决。已经卡在这里很久了。


你找到了什么吗? - Antzi
这里也有同样的问题。仍然处于沙盒模式。还不能在生产环境中测试它。 - user642252
3个回答

1
当我向苹果反馈时,它自动开始了。看起来是苹果方面的问题。

0

这只是我遇到的问题,最后来到了这里。 我不知道它是否对某人有用,但在我的情况下,原因是在已经进行身份验证后,我在飞行模式下离线了


0

尝试使用以下代码。记得用你实际的排行榜ID替换YourLeaderboardID。你的代码看起来和我的非常相似,但可能是你的代码行顺序有误。

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)
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接