Подтвердить что ты не робот

Игровой центр iOS: результаты не отображаются в таблице лидеров в песочнице

Я разрабатываю игру с поддержкой Game Center, и я сталкиваюсь с проблемой в среде песочницы. Я могу успешно сообщать счет без ошибок. Однако, когда я показываю таблицу лидеров, видимых результатов нет. Чтобы проверить, действительно ли полученная оценка была получена, я запрашиваю локальный счет пользователя с помощью следующего кода:

-(void)retrieveLocalScoreForCategory:(NSString *)category
{
    GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
    leaderboardRequest.category = category;

    [leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores,NSError *error) 
     {
         [self callDelegateOnMainThread: @selector(localPlayerScore:error:) withArg: leaderboardRequest.localPlayerScore error: error];
     }];
}

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

Кто-нибудь знает, почему мой счет не сразу отображается в таблице лидеров в среде песочницы? Есть ли задержка до появления показа?

4b9b3361

Ответ 1

Я столкнулся с той же проблемой с проектами, над которыми я работал.

GC Leaderboards (песочница/живая игра) вернет только результаты, если на Лидерских досках есть два или более игрока.

Поэтому убедитесь, что вы либо отправляете счет с двумя разными учетными записями на одном устройстве, либо на двух разных учетных записях на отдельных устройствах.

Ответ 2

Попробуйте изменить timeScope.

Иногда GKLeaderboardTimeScopeAllTime и GKLeaderboardTimeScopeToday ничего не возвращает, но GKLeaderboardTimeScopeWeek отлично работает. Я думаю, что это проблема с песочницей GC.

Слушайте нас Apple: используйте некоторые из этих миллиардов, чтобы улучшить ваши веб-службы.