У меня есть приложение iMessage, и я пытаюсь получить очки в таблице лидеров. Я получаю сообщение об ошибке:
Ошибка домена = GKErrorDomain Code = 3 "Запрошенная операция не может быть завершена из-за ошибки связи с сервером." UserInfo = {GKServerStatusCode = 5043, NSLocalizedDescription = Не удалось выполнить запрошенную операцию из-за ошибки связи с сервером., NSUnderlyingError = 0x600000ed3960 {Ошибка домена = GKServerErrorDomain Code = 5043 "status = 5043, MyApp не поддерживает таблицы лидеров" UserInfo {GKServerStatusCode = 5043, NSLocalizedFailureReason = status = 5043, MyApp не поддерживает списки лидеров}}}
Обратите внимание, что мое приложение работает, игровой центр включен, и прошло несколько дней с момента создания списков лидеров на iTunes Connect.
func getScoreLeaderboard(leaderboardIdentifier:String, completion:@escaping ((_ resultScore:GKScore?) -> Void)) {
let leaderBoardRequest = GKLeaderboard()
leaderBoardRequest.identifier = leaderboardIdentifier
leaderBoardRequest.loadScores {
(resultGKScore, error) in
guard error == nil && resultGKScore != nil else {
completion(nil)
return
}
completion(leaderBoardRequest.localPlayerScore)
}
}
У меня есть сомнения, но я не уверен, что это может быть проблемой. Проблема может быть:
У меня есть приложение iMessage с идентификатором пакета, например, com.mygame
. В iTunes Connect я сделал тестовое приложение, чтобы проверить возникшую проблему покупки приложения. И его идентификатор пакета com.mygame.MessagesExtension
.
Я думаю, что он пытается получить Leaderboard из приложения с идентификатором пакета расширения. Это возможно? Поскольку мое приложение com.mygame
работает, я не могу удалить тестовое приложение расширения, хотя оно не используется.
Любая помощь приветствуется.