GameCenterのスコアボードを、swiftを使って独自UI等で利用する方法を〜〜〜φ(..)メモメモ
出来合いのスコアボードを自分のアプリデザインに合わせた形で表示したかったので、
GameCenterのスコアを取得し好きな方法で使ってみた。
var leaderboardRequest: GKLeaderboard = GKLeaderboard()
leaderboardRequest.playerScope = .Global
leaderboardRequest.timeScope = .Today
leaderboardRequest.identifier = "itunes connectで指定したleaderboardID"
leaderboardRequest.range = NSMakeRange(1, 10)
// Request
leaderboardRequest.loadScoresWithCompletionHandler{ (scores, error) -> Void in
if error != nil
{
println("Error \(error))")
}
else if scores != nil
{
println("leaderboards \(scores)") // scoresという情報に配列で格納されている
}
}
scoresは、GKScoreという型で配列で入っているので、
TableViewのデータとして使う事も柔軟に対応できました!
デバッグログを確認すればわかりますが、
println("\(scores.player.alias)") // プレイヤー名
println("\(scores.value)") // スコア
上記のように、プレイヤーの名前や、スコアを取得できます。
参考にさせて頂いたサイト
http://iorisomo.hatenablog.com/entry/2014/04/09/193007
http://stackoverflow.com/questions/28519503/gkleaderboard-localplayerscore-returns-nil-on-ios-8-1-3
http://qiita.com/moco3/items/d9c2a8956d4377bad264