Проверьте, разблокировали ли вы уже достижение в Game Center / GameKit - PullRequest
3 голосов
/ 22 января 2011

Я был в тупике на этом довольно долго.Я понимаю, как разблокировать достижение в Game Center, и у меня даже работала целая система обмена сообщениями.Но я не могу понять, как проверить, разблокировано ли уже достижение: (

Видимо, это не работает:

GKAchievement *achievement = [[GKachievement alloc] initWithIdentifier:ident] autorelease]; 
NSLog(@"%i",achievement.completed);

Оно всегда отслеживает "0".

Разблокирование достижения действительно работает:

GKAchievement *achievement = [[GKachievement alloc] initWithIdentifier:ident] autorelease]; 
achievement.percentComplete = 100;

Так что не то, что я допустил ошибку в целом достижении, просто GameKit не может сказать мне, было ли достижение разблокировано илинет.

Буду очень признателен, если кто-нибудь сможет мне помочь с этим!

Ответы [ 2 ]

4 голосов
/ 30 сентября 2011

, чтобы загрузить ранее отправленные достижения для текущего пользователя, которому нужно позвонить:

[GKAchievement loadAchievementsWithCompletionHandler: ^(NSArray *scores, NSError *error)
{
    if(error != NULL) { /* error handling */ }
    for (GKAchievement* achievement in scores) {
        // work with achievement here, store it in your cache or smith
    }

}];

Вы знаете, что лучший способ начать с Game Center - достижения и высокие результаты - взглянуть на демонстрационный проект Apple, который можно найти здесь: http://developer.apple.com/library/ios/#samplecode/GKTapper/Introduction/Intro.html

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

0 голосов
/ 24 января 2011

Собираюсь начать реализовывать это сам.

Из того, что я прочитал о документах, я думаю, вам нужно позвонить

loadAchievementsWithCompletionHandler: 

http://developer.apple.com/library/ios/documentation/GameKit/Reference/GKAchievement_Ref/Reference/Reference.html#//apple_ref/doc/uid/TP40009959-CH1-SW1

...