2
我有個問題,幫我理解這個話題。老實說,我花了幾天的時間研究這個話題,但還沒有成功。Swift 3 Game Center排行榜不保存得分值
有上SpriteKit一個簡單的遊戲,斯威夫特3
我試圖實現排行榜遊戲中心。
iTunes Connect已經建立,排行榜已創建,測試用戶已創建。
當我開始遊戲時,用戶應該登錄。顯示所創建板子的按鈕,我可以在Game Center中打開我的排行榜。
問題在於排行榜中得分的值未更新。
我的比賽成績都存儲在變量「分數」 在gamescene.swift,我有兩個功能,用於保存和壓倒一切的:
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個點時,輸出將會是一條消息:
Success! Sending the highscore of 5 to the leaderboard
但遊戲中心的可變分數值並未發送,並且在首次訪問主板時實現零值
我真的希望得到您的幫助。
此致,尤金, 尤金。
嘿那裏eugene,我今年早些時候經歷過和你一樣的情況。我聯繫了蘋果支持,似乎這是他們的錯誤。與您類似,排行榜在幾天後不會更新。我建議你聯繫Apple iTunes Connect。他們應該能夠修復它。 – sicvayne