С некоторыми исследованиями, это то, что я считал правильным кодом. Кажется, что все работает, и есть NO ошибок. Первый высокий рейтинг загруженных показывает в таблице лидеров (для обеих учетных записей Game Center, которые я использую для тестирования), но любой балл, загруженный после первоначального высокого балла (который должен заменить его), не отображается (я попытался использовать более одной учетной записи , тот же выпуск). Вот мой код (я вызываю эту функцию при нажатии кнопки). Все загружается отлично, и окно Game Center отлично закрывается с ошибками NO, но счет для учетной записи 1 остается равным 0 (это был первый балл, загруженный), а счет для учетной записи 2 остается равным 2 (который был первым загруженным счетом). (highScore - это сохраненный NSInteger перед вызовом этой функции) Пожалуйста, помогите!Нужна помощь по исправлению моего кода при загрузке High Score в таблицу лидеров игрового центра в iOS
func saveHighscore() {
//check if user is signed in
if GKLocalPlayer.localPlayer().authenticated {
let gameScoreReporter = GKScore(leaderboardIdentifier: "color_runner_leaderboard")
gameScoreReporter.value = Int64(highScore)
let scoreArray1: [GKScore] = [gameScoreReporter]
GKScore.reportScores(scoreArray1, withCompletionHandler: {(NSError) -> Void in
if NSError != nil {
print(NSError!.localizedDescription)
} else {
print("completed Easy")
}
})
}
}
Этот код показывает лидеров:
//show leaderboard screen
func showLeader() {
let vc = self.view?.window?.rootViewController
let gc = GKGameCenterViewController()
gc.gameCenterDelegate = self
vc?.presentViewController(gc, animated: true, completion: nil)
}
Этот код то, что загружает счет (который, кажется, не работает после загрузки FIRST оценка) и отображает Полноразмерный
let highScoreDefault = NSUserDefaults.standardUserDefaults()
if highScoreDefault.valueForKey("HighScoreSaved") != nil {
highScore = highScoreDefault.valueForKey("HighScoreSaved") as! NSInteger!
[saveHighscore()]
}
[showLeader()]
Возможный дубликат [IOS Game Center: результаты не показывают на лидеров в песочнице] (http://stackoverflow.com/questions/8720316/ios-game-center-scores- not-show-on-leaderboard-in-sandbox) – CStreel
К сожалению, это не помогло решить мою проблему. Должно быть связано с кодом. – baymitchell12
Итак, вы пытались отчитываться от нескольких учетных записей, и это не отображается? Другая распространенная ошибка, которую люди совершают, заключается в том, что они загружают неправильную таблицу лидеров при проверке таблицы лидеров. Также может быть, что он еще не загружен, иногда при обработке песочницы иногда требуется немного больше времени. – CStreel