iOS Game Center: результаты не отображаются в таблице лидеров в песочнице - PullRequest
24 голосов
/ 04 января 2012

Я занимаюсь разработкой игры с поддержкой 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];
     }];
}

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

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

Ответы [ 2 ]

54 голосов
/ 04 января 2012

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

Таблицы лидеров GC (Sandbox / live) будут возвращать результаты, только если в списках лидеров есть два или более игроков.1004 * Убедитесь, что вы отправили счет с двумя разными учетными записями на одном устройстве или двумя разными учетными записями на разных устройствах.

3 голосов
/ 01 июня 2012

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

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

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

...