Я приближаюсь к завершению своего первого приложения, которое использует (и требует) Game Center. Я не делаю успехов, просто система баллов. У меня все подключено, мое приложение зарегистрировано в iTunesConnect с включенным Game Center, и когда я регистрирую высокий балл, он появляется в списке как следует.Оценка GKScore всегда 0
Единственное, что не работает, это «ранг». В блоке завершения [GKScore reportScoreWithCompletionHandler:]
свойство rank моего объекта GKScore всегда равно 0, даже если пользователь получил новый высокий балл.
Например, в мое приложение, когда я бегу:
GKScore *scoreReporter = [[GKScore alloc] initWithCategory:@"1"];
scoreReporter.value = 2200003; // test value
[scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
if (error != nil)
{
NSLog(@"An error occured reporting the Game Center score: %@", error);
}
NSLog(@"Score: %@", scoreReporter);
NSLog(@"Score: %d", scoreReporter.rank);
}];
... ошибка не происходит и выход:
Score: <GKScore: 0x361a3c0><0x361a3c0> player=G:1127411264 rank=0 date=2012-02-04 22:19:52 +0000 value=2200002 formattedValue=(null) context=(null)
Score: 0
Есть ли может быть что-то я пропускаю в iTunesConnect? Будет ли ранг начать работать, как только я покину песочницу? Любые указатели в правильном направлении будут оценены.
Это правильно. Я, конечно же, прочитал эту документацию, но почему-то неверно истолковал «Значение этого свойства не определено на вновь инициализированном объекте GKScore, оно действительно только для объектов очков, полученных от Game Center». означает, что ранг будет заполнен в блоке завершения. Конечно, это означает, что если вы создали GKScore, ранг будет всегда равным 0. Вопрос все еще остается: «Как вы получаете ранг оценки, которую вы только что опубликовали?» Возможно, я задам еще один вопрос, задающий конкретный вопрос. – laxcat