6

我设置了通过游戏第一关的成就,它可以工作,但是当我重玩关卡并通过它时,它再次显示通知横幅,我该如何防止这种情况发生?

4

2 回答 2

11

使用此方法提交成就:

-(void) reportAchievementWithID:(NSString*) achievementID {

    [GKAchievement loadAchievementsWithCompletionHandler:^(NSArray *achievements, NSError *error) {

        if(error) NSLog(@"error reporting ach");

        for (GKAchievement *ach in achievements) {
            if([ach.identifier isEqualToString:achievementID]) { //already submitted
                return ;
            }
        }

        GKAchievement *achievementToSend = [[GKAchievement alloc] initWithIdentifier:achievementID];
        achievementToSend.percentComplete = 100;
        achievementToSend.showsCompletionBanner = YES;
        [achievementToSend reportAchievementWithCompletionHandler:NULL];

    }];

}
于 2012-08-05T22:01:33.957 回答
-2

保存用户已经通过关卡NSUserDefaults,然后当用户通过关卡检查NSUserDefaults你的钥匙,如果它在那里,那么不要为游戏中心做成就代码。

于 2012-08-01T20:28:49.470 回答