从 GKLeaderboard 中提取数据

Pulling data from a GKLeaderboard

好的,所以我花了很多时间在互联网上搜索这方面的帮助,但没有成功,所以我需要一些帮助。

我正在使用 SpriteKit 制作游戏,我决定实现我自己的排行榜样式,而不是笨拙的 Game Center 默认样式。我已设法将用户登录到 GC,但无法找到用于从排行榜中提取信息的正确(和工作)Swift 3 代码。我想拉出前 10 名的分数,以及当前的用户分数(如果他们还没有进入前 10 名)。我想从他们那里得到的信息是位置、用户名和分数。

我知道这是一个相当简单的概念,但每个在线教程要么使用默认的 GC 视图,要么是极其 old/outdated 不再有效的代码。我只需要知道如何从排行榜中提取这些信息,然后我就可以自己处理了!

提前感谢您的帮助!

Apple 在 Swift 中似乎没有合适的示例代码,但这里有一个 Swift 版本,大致基于他们的 Objective-C 示例:

let leaderboard = GKLeaderboard()
leaderboard.playerScope = .global
leaderboard.timeScope = .allTime
leaderboard.identifier = "YourIdentifier"

leaderboard.loadScores { scores, error in
    guard let scores = scores else { return }
    for score in scores {
        print(score.value)
    }
}

注意,这只是从 Apple 的 Objective-C 代码翻译过来的,我还没有用真实数据进行测试。