Задержка localPlayerScore GKLeaderboard после сохранения GKScore - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь получить новый рейтинг в таблице лидеров пользователя после того, как набрал высокий балл, и обнаружил, что обновление 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, этой задержки уже не будет? Я мог бы, вероятно, создать обходной путь, сохранив оценки до того, как пользователь сыграет в игру, и локально рассчитать новый ранг, но общий код должен избегать необходимости в этом, верно?

...