1

У меня есть таблица лидеров Game Center в моей игре, которую я показываю с помощью собственного графического интерфейса, используя данные, полученные из метода GKLeaderboard loadScoresWithCompletionHandler.Game Center Leaderboard только обновляется, когда приложение возобновляется

Я сообщаю о новых оценках, используя метод GKScore reportScoresWithCompletionHandler. Моя проблема заключается в том, что когда я сообщаю новый высокий балл для местного игрока, когда я открываю свой графический интерфейс для лидеров (который заставляет loadScoresWithCompletionHandler вызываться), оценка игрока не обновляется - он отображает старый, который он просто избил.

Но если я закрою (не убиваю) игру, а затем снова открою ее и снова открою GUI, эй-престо, будет показан новый балл.

Это говорит о том, что в GameKit должно быть какое-то внутреннее кэширование, которое возвращается, когда приложение возобновляется. Я действительно знаю, что при возобновлении приложения GC вызывает мой идентификаторHandler, чтобы сообщить мне, что он повторно аутентифицировал игрока, поэтому, возможно, что-то в этом способе стирает все внутренние кеширование?

Это первая игра, в которой я работал, где я показываю данные игрового центра, используя пользовательский интерфейс, а не собственный контроллер представления GC, с которым у меня никогда не было этой проблемы. Кто-нибудь имел с ним подобный опыт и мог рассказать мне, почему GKLeaderboard loadScoresWithCompletionHandler дает мне старые данные?

ответ

0

У меня была такая же проблема, и она дала мне бессонную ночь, особенно не видя ответа, связанного с ней, на stackoverflow и других форумах. Затем я нашел где-то, что они сообщали новый балл всякий раз, когда уровень завершается. И я сменил кнопку, чтобы представить таблицу лидеров, чтобы показать таблицу лидеров, и она решила проблему. Я использую контроллер представления GC. и я только называл showleaderboard, поскольку это была нестандартная таблица лидеров.

 Смежные вопросы

  • Нет связанных вопросов^_^