Game Center iPhone-加载成就进度

问题描述 投票:0回答:1

[我让我的应用在游戏中心成就达到/达到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
1个回答
0
投票
GKAchievement中有一个“已完成”属性...请尝试制作新的GKAchievement,并检查它是否未完成,然后将其解锁。
© www.soinside.com 2019 - 2024. All rights reserved.