我如何从 GameCenter 获取玩家排名

How do I get player ranking from GameCenter

我想在向记分牌提交高分后立即在游戏中心获得玩家的全球排名。但是我找不到任何关于这样做的文档,我也担心 "score parameter" 不会立即准确。

如何获得玩家在 Gamecenter 中的排名。

这是我到目前为止的分数提交代码

if GKLocalPlayer.localPlayer().authenticated
{
    let scoreReporter = GKScore(leaderboardIdentifier: "MY APP")
    scoreReporter.value = Int64(score)
    let scoreArray: [GKScore] = [scoreReporter]
    GKScore.reportScores(scoreArray, withCompletionHandler: {(error : NSError?) -> Void in
        if error != nil
        {
            print("Good 2")

        }
        else
        {
            print("Good 1")
        }
    })
}

GKScore have a property named rank. It reports the rank of player as per leaderboards specifications.

let leaderBoard : GKLeaderboard = GKLeaderboard()

leaderBoard.timeScope = .AllTime
leaderBoard.range = NSMakeRange(1, 1)
leaderBoard.identifier = "Your Leaderboard ID"
leaderBoard.loadScoresWithCompletionHandler { (score : [GKScore]?, error:NSError?) -> Void in

    if(error != nil){
        // Handle Error
    }else{

        if(score?.count > 0){

            let score : GKScore = leaderBoard.localPlayerScore!

            let rank : NSInteger = score.rank

            print("rank \(rank)")

        }

    }

}