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にパスしたときに、キーが存在する場合は、Game Center の達成コードを実行しません。

于 2012-08-01T20:28:49.470 に答える