Отправка достижений в GameCenter Проблема! - PullRequest
0 голосов
/ 05 апреля 2011

Ну, я уже зарегистрировал список лидеров и достижение (только для целей тестирования).Я использую GameCenterManager.h / .m и AppScoreValue.h

Моя таблица лидеров работает нормально, получает все оценки, расставляет их по порядку, но достижение не предоставляется игроку.

Мне нужен пример, показывающий, как сообщать о достижениях, я попробовал это:

Мой метод загрузки сделал вид выглядит следующим образом:

-(void)viewDidLoad{
   [GKAchievement loadAchievementsWithCompletionHandler:^(NSArray *achievements, NSError *error) {
    if (error != nil)
    {
        NSLog(@"ACHIEVEMENTS WERE NOT LOADED");
    } else {
        NSLog(@"ACHIEVEMENTS WERE LOADED");
    }

    if (achievements != nil)
    {
        NSLog(@"THERE ARE ACHIVEMENTS");
    } else {
        NSLog(@"THERE ARE NO ACHIVEMENTS %@", achievements);
    }
}];

Вот мой метод отчета о достижениях:

- (IBAction)reportAchievementIdentifier:(NSString*)identifier percentComplete:(float) percent {    
    GKAchievement *achievement = [[[GKAchievement alloc] initWithIdentifier: identifier] autorelease];
    if (achievement)
    {
        achievement.percentComplete = percent;
        [achievement reportAchievementWithCompletionHandler:^(NSError *error)
         {
             if (error != nil)
             {
                 // Retain the achievement object and try again later (not shown).
             }
         }];
    }

}

Ответы [ 2 ]

1 голос
/ 06 ноября 2012
GKAchievement *achievement = 
    [[GKAchievement alloc] initWithIdentifier: identifier];
achievement.showsCompletionBanner = YES;

вот и все!

1 голос
/ 06 апреля 2011

Когда вы сообщаете о достижении, вы называете что-то вроде этого:

[self reportAchievementIdentifier:@"com.yourapp.yourachievement" percentComplete:100.0];

(Вы хотите заменить идентификатор тем, что вы использовали для идентификатора вашего Game Center.)

Предлагаю посмотреть эту документацию от Apple. Он содержит полноценное руководство по использованию достижений в вашем приложении.

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

...