2016-01-29 66 views
2

在我的iOS9項目中,我總共有8個與Game Center關聯的排行榜。我可以加載所有排行榜的列表(這對我的應用中的另一部分來說很棒);不過,我也希望能夠加載一個特定的排行榜。以下是我正在使用的代碼:在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似乎也沒有效果!它總是轉到排行榜的該列表:(

預先感謝您爲您的所有幫助!:)

回答

0

我知道這被張貼的時間多了,但我只能在我的項目同樣的問題。

你的代碼沒有問題,問題是iOS9的一個bug,在蘋果的官方論壇上有一個線程與其他人的投訴:https://forums.developer.apple.com/thread/15997。 他們都有同樣的問題,顯示一個特定的排行榜,但沒有從蘋果官方的答案。

我在裝有iOS8的設備上試過我的遊戲,並且沒有顯示特定LeaderBoard的問題。所以現在,沒有太多的事情要做,直到蘋果解決這個問題(已經差不多一年)。我也建議使用Apple bug記者,以便他們注意到這個問題。

iOS10更新:

iOS 10沒有問題顯示特定的排行榜。看起來它仍然是iOS9的問題。

相關問題