2011-04-05 65 views
0

那么,我已经注册了排行榜和成就(仅用于测试目的)。我使用GameCenterManager.h/.m和AppScoreValue.h发送成就到GameCenter问题!

我的排行榜正常工作时会正常收到所有分数,并将它们排列整齐,但成绩不会授予玩家。

我想一个例子展示了如何报道的成就,我想这样的:

我的观点做负载方法是这样的:

-(void)viewDidLoad{ 
    [GKAchievement loadAchievementsWithCompletionHandler:^(NSArray *achievements, NSError *error) { 
    if (error != nil) 
    { 
     NSLog(@"ACHIEVEMENTS WERE NOT LOADED"); 
    } else { 
     NSLog(@"ACHIEVEMENTS WERE LOADED"); 
    } 

    if (achievements != nil) 
    { 
     NSLog(@"THERE ARE ACHIVEMENTS"); 
    } else { 
     NSLog(@"THERE ARE NO ACHIVEMENTS %@", achievements); 
    } 
}]; 

,这里是我的成绩报告方法:

- (IBAction)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). 
      } 
     }]; 
    } 

}

+0

欢迎来到StackOverflow!你在哪里报告分数?我看不到你在这里的任何地方调用该方法。 – Moshe 2011-04-05 18:35:49

+0

我该怎么办?我真的迷失在这个代码中。 – Felipe 2011-04-05 19:54:48

回答

1

当您举报成就时,柯本:

[self reportAchievementIdentifier:@"com.yourapp.yourachievement" percentComplete:100.0]; 

(你要替换,不管你用你的游戏中心标识符标识。)

我建议看this documentation苹果。它包含一个完整的教程,介绍如何在你的应用中使用成就。

基本的想法是,你的应用程序报告你的用户完成成就的百分比。请注意,成就并不总是立即传播。

1
GKAchievement *achievement = 
    [[GKAchievement alloc] initWithIdentifier: identifier]; 
achievement.showsCompletionBanner = YES; 

就是这样!