【发布时间】:2010-12-19 15:54:14
【问题描述】:
当 Game Center 成就达到/达到 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"];
}
【问题讨论】:
标签: iphone objective-c notifications game-center achievements