Game Center iPhone - прогресс в достижении нагрузки - PullRequest
0 голосов
/ 19 декабря 2010

У меня есть приложение, которое уведомляет меня, когда достижение игрового центра достигнуто / достигает 100%, однако оно показывает уведомление каждый раз, когда пользователь завершает его, но я хочу, чтобы оно уведомляло его только в первый раз, когда оно действительно завершено.

Понимаете?

Я нашел это в документах Apple: http://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/Achievements/Achievements.html#//apple_ref/doc/uid/TP40008304-CH7-SW11

Однако не совсем понял, как это поможет решить мою проблему.

Я толькохотите вызвать это уведомление один раз, когда достижение будет достигнуто впервые.Так что покажите его, только если оно еще не достигнуто.

Надеюсь, вы сможете помочь, спасибо.

РЕДАКТИРОВАТЬ:

У меня есть это, чтобы разблокировать достижение:

- (void) 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).
             }
         }];
    }
}

И разблокировать с помощью этого:

[self reportAchievementIdentifier:identifier percentComplete:percent];

Затем показать уведомление с этой строкой:

[[GKAchievementHandler defaultHandler] notifyAchievementTitle:@"Title" andMessage:@"Message"];

Так мне просто нужно что-то подобное в этом куске кода?

if (achievement.completed != TRUE) {
      [[GKAchievementHandler defaultHandler] notifyAchievementTitle:@"Title" andMessage:@"Message"];
}

1 Ответ

0 голосов
/ 19 декабря 2010

В GKAchievement есть свойство "выполнено" ... Попробуйте создать новое достижение GKA и проверьте, не завершено ли оно, затем разблокируйте его.

...