Я тщательно изучил множество руководств по интеграции GameCenter в свое приложение. Я использую правильный код для публикации оценок и получаю отчет о том, что оценки передаются в GC. Однако, когда я пытаюсь загрузить таблицу лидеров, вместо этого отображается пустой экран «Нет испытаний».
Я просмотрел как можно больше соответствующих вопросов о stackoverflow, а также просмотрел документацию. Ни один из них не помог решить мою проблему.
Некоторая дополнительная информация, чтобы предотвратить бесполезные ответы троллей на этот пост.
- Я создал 3 учетные записи пользователей в песочнице и разместил с ними все сообщения.
- Я убедился, что мой идентификатор таблицы лидеров точно вставлен в код.
Код для аутентификации //инициировать функцию игрового центра authenticationLocalPlayer(){
let localPlayer: GKLocalPlayer = GKLocalPlayer.localPlayer()
localPlayer.authenticateHandler = {(viewController, error) -> Void in
if (viewController != nil) {
self.presentViewController(viewController, animated: true, completion: nil)
}
else {
println((GKLocalPlayer.localPlayer().authenticated))
}
}
}
Код для отображения таблицы лидеров
func showLeaderboard () {
// declare the Game Center viewController
var gcViewController: GKGameCenterViewController = GKGameCenterViewController()
gcViewController.gameCenterDelegate = self
gcViewController.viewState = GKGameCenterViewControllerState.Leaderboards
// Remember to replace "Best Score" with your Leaderboard ID (which you have created in iTunes Connect)
gcViewController.leaderboardIdentifier = "1019900515.HighScore"
// Finally present the Game Center ViewController
//self.showViewController(gcViewController, sender: self)
// self.navigationController?.pushViewController(gcViewController, animated: true)
self.presentViewController(gcViewController, animated: true, completion: nil)
}