在游戏中心显示特定排行榜?

Display Specific Leaderboard in Game Center?

在我的 iOS9 项目中,我总共有 8 个与 Game Center 关联的排行榜。我可以加载所有排行榜的列表(这对于我的应用程序的另一部分非常有用);但是,我还希望能够加载一个特定的排行榜。这是我使用的代码:

 @IBAction func showLeaderboard() {
    if savedSettings["difficulty"] == 0 {
        print("Easy")
        if savedSettings["gameLanguage"] == 0 {
            leaderboardID = "Colorific_English_High_Scores"
            print("english")
        } else if savedSettings["gameLanguage"] == 1 {
            leaderboardID = "Colorific_Spanish_High_Scores"
        } else {
            leaderboardID = "Colorific_French_High_Scores"
        }
    } else {
        if savedSettings["gameLanguage"] == 0 {
            leaderboardID = "Colorific_English_High_Scores_Hard"
        } else if savedSettings["gameLanguage"] == 1 {
            leaderboardID = "Colorific_Spanish_High_Scores_Hard"
        } else {
            leaderboardID = "Colorific_French_High_Scores_Hard"
        }
    }
    let gcVC: GKGameCenterViewController = GKGameCenterViewController()
    gcVC.leaderboardIdentifier = leaderboardID
    gcVC.gameCenterDelegate = self

    gcVC.viewState = GKGameCenterViewControllerState.Leaderboards

    self.presentViewController(gcVC, animated: true, completion: nil)
}

不幸的是,更新 leaderboardIdentifier 似乎没有效果。所有排行榜的列表似乎总是出现。事实上...即使将 viewState 更改为 GKGameCenterViewControllerState.Achievements 似乎也没有效果!它总是进入排行榜列表:(

提前感谢您的帮助! :)

我知道这是很久以前发布的,但我在我的项目中遇到了同样的问题。

您的代码没有问题,问题是 iOS9 的一个错误,Apple 官方论坛上有一个帖子与其他人的投诉:https://forums.developer.apple.com/thread/15997。 他们都有显示特定排行榜的相同问题,但是苹果没有官方答复。

我在 iOS8 的设备上尝试了我的游戏,显示特定排行榜没有问题。所以现在,没有什么可做的,直到 Apple 解决这个问题(已经快一年了)。我还建议使用 Apple bug reporter,这样他们就能注意到这个问题。

iOS10更新:

iOS 10 显示特定排行榜没有问题。看起来它仍然是 iOS9 的问题。