4

誰かが代わりを見つけましたか

[GKAchievement reportAchievementWithCompletionHandler]?

通常、物事が非推奨になると、ドキュメントは代替品を示します。これまでのところそうではありません。私たちが見ている別の問題の考えられる原因のリストからこれを消したいと思いました.

4

3 に答える 3

12

同じ情報を探していて、あなたの投稿を見ました。何も見つからなかった後に行ったものは次のとおりです。

NSArray *achievements = [NSArray arrayWithObjects:achievement, nil];
[GKAchievement reportAchievements:achievements withCompletionHandler:^(NSError *error) {
   if (error != nil) {
      NSLog(@"Error in reporting achievements: %@", error);
   }
}];
于 2013-09-27T14:32:27.267 に答える
0

Apple の完全なコードは次のとおりです (Silly Goose's Answer と同じ/類似)

- (void) completeMultipleAchievements
{
    GKAchievement *achievement1 = [[GKAchievement alloc] initWithIdentifier: @"DefeatedFinalBoss"];
    GKAchievement *achievement2 = [[GKAchievement alloc] initWithIdentifier: @"FinishedTheGame"];
    GKAchievement *achievement3 = [[GKAchievement alloc] initWithIdentifier: @"PlayerIsAwesome"];
    achievement1.percentComplete = 100.0;
    achievement2.percentComplete = 100.0;
    achievement3.percentComplete = 100.0;

    NSArray *achievementsToComplete = [NSArray arrayWithObjects:achievement1,achievement2,achievement3, nil];
    [GKAchievement reportAchievements: achievementsToComplete withCompletionHandler:^(NSError *error)
             {
                  if (error != nil)
                  {
                      NSLog(@"Error in reporting achievements: %@", error);
                  }
             }];
      }
于 2014-06-08T09:04:47.327 に答える
0

これは iOS7 で問題なく動作します。

- (void)checkAchievements
{
    if(myScore >= 25000){
            GKAchievement *achievement= [[GKAchievement alloc] initWithIdentifier:@"Achiev1"];
            achievement.percentComplete = 100.0;
            achievement.showsCompletionBanner = YES;
            [self Achievements:achievement];

        }
}

-(void)Achievements:(GKAchievement*)achievement {

    NSArray *achievements = [NSArray arrayWithObjects:achievement, nil];
    [GKAchievement reportAchievements:achievements withCompletionHandler:^(NSError *error) {
        if (error != nil) {
            NSLog(@"Error in reporting achievements: %@", error);
        }
    }];

}
于 2013-12-14T17:30:00.400 に答える