Я пытаюсь получить новый рейтинг в таблице лидеров пользователя после того, как набрал высокий балл, и обнаружил, что обновление GKLeaderboard
занимает около 5 секунд. Я проверил код в сборке Release (из Xcode), и задержка все еще есть.
let score = GKScore(leaderboardIdentifier: leaderboardId)
score.value = Int64(highScore)
GKScore.report([score]) { _ in
// Adding a 5 second delay here solves the problem.
let leaderboard = GKLeaderboard()
leaderboard.identifier = leaderboardId
leaderboard.loadScores { _, _ in
// leaderboard.localPlayerScore shows data from before saving the new score.
}
}
Есть ли способ обойти это? Задержка в 5 секунд кажется странной. Может быть, когда приложение появится в App Store, этой задержки уже не будет? Я мог бы, вероятно, создать обходной путь, сохранив оценки до того, как пользователь сыграет в игру, и локально рассчитать новый ранг, но общий код должен избегать необходимости в этом, верно?