У меня есть приложение, которое уведомляет меня, когда достижение игрового центра достигнуто / достигает 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"];
}