7

Apple の Xcode 6 ベータ 6 で Swift を使用してゲームを作成しており、ゲームのハイスコアをゲームセンターのリーダー ボードに追加しようとしています。gamecenter でリーダー ボードを作成しました。

では、NSUserDefault として保存したハイ スコアをゲームセンターのリーダー ボードに追加するにはどうすればよいでしょうか?

私は使用してみました:

GKScore.reportScore([highScore], withCompletionHandler: nil)

しかし、それはただクラッシュします。initLeaderboard 関数は ios 8 で廃止されたため、どうすればよいかわかりません。

4

2 に答える 2

9

まず、GKScore オブジェクトを作成する必要があります。次に、gkScore.value を設定します。最後に、スコアを報告します。

// if player is logged in to GC, then report the score
if GKLocalPlayer.localPlayer().authenticated {
    let gkScore = GKScore(leaderboardIdentifier: "leaderBoardID")
    gkScore.value = score
    GKScore.reportScores([gkScore], withCompletionHandler: ( { (error: NSError!) -> Void in
        if (error != nil) {
            // handle error
            println("Error: " + error.localizedDescription);
        } else {
            println("Score reported: \(gkScore.value)")
        }
    }))
}
于 2014-10-22T15:44:08.437 に答える