[我让我的应用在游戏中心成就达到/达到100%时发出通知,但是每次用户完成该通知时都会显示该通知,但我只希望它在实际完成时第一次通知。
但是还不太了解它如何解决我的问题。
我只希望在第一次实现此成就时调用一次此通知。因此,仅在尚未实现时显示它。
我有这个来解锁成就:
- (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"];
}