我的应用程序在达到游戏中心成就/达到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"];
}
答案 0 :(得分:0)
GKAchievement中有一个“已完成”的属性...尝试制作一个新的GKAchievement并检查它是否未完成,然后将其解锁。