私は質問があります。正直なところ、私はトピックを研究して数日間過ごしましたが、それはまだ働いていません。 SpriteKitベースのシンプルなゲームがありますSwift 3 Game Centerリーダーボードはスコアの値を保存しません
、スウィフト3.
私はリーダーボードゲームセンターを実装しようとしています。
iTunes Connectは既に作成済みで、テストユーザーがすでに作成しています。
ゲームを開始すると、ユーザーは必要に応じてログインします。作成されたボードを表示するボタンと、ゲームセンターでリーダーボードを開くことができます。
問題は、リーダーボードで得点の値が更新されないことです。
私のゲームのスコアをgamescene.swiftでは、変数「スコア」 に格納されている、私は保存して上書きするための2つの機能があります。
func saveHighscore(gameScore: Int) {
if GKLocalPlayer.localPlayer().isAuthenticated {
print("\n Success! Sending highscore of \(score) to leaderboard")
let scoreReporter = GKScore(leaderboardIdentifier: “MY_ID_THERE”)
scoreReporter.value = Int64(gameScore)
let scoreArray: [GKScore] = [scoreReporter]
GKScore.report(scoreArray, withCompletionHandler: {error -> Void in
if error != nil {
print("An error has occured: \(String(describing: error))")
}
})
}
}
func overrideHighestScore(gameScore: Int) {
UserDefaults.standard.integer(forKey: "highestScore")
if gameScore > UserDefaults.standard.integer(forKey: "highestScore") {
UserDefaults.standard.set(gameScore, forKey: "highestScore")
UserDefaults.standard.synchronize()
saveHighscore(gameScore: score)
print(score.hashValue)
}
}
を、私はボタンを
saveHighscore (gameScore: score)
overrideHighestScore (gameScore: score)
を押したとき、私は両方の機能を呼び出します
コンソールに出力が正しく表示されます。たとえば、5点を収集すると、出力は次のメッセージになります。
ゲームセンターの変数スコアの値は送信されず、ボードに最初にアクセスしたときにゼロの値が得られます
本当に助けてください。
こんにちは、 ユージン。私はあなたが適切https://itunesconnect.apple.com
でリーダーボードを設定している願っています
私はユージンがいますが、私は今年あなたと同じ状況を経験しました。私はリンゴのサポートに連絡し、彼らのためにエラーだったようです。あなたと同じように、リーダーボードは数日後には更新されません。 Apple iTunes Connectにお問い合わせいただくことをお勧めします。彼らはそれを修正することができるはずです。 – sicvayne