Есть ли простая документация по реализации Game Center?

Я пытаюсь внедрить Game Center в свою игру для ios7 (Xcode 5), но материал в документах Apple и материалы, которые я видел в Интернете, похоже, работают не очень хорошо.

Это два основных метода, которые я использую, но при этом я не получаю ошибок, но я также не получаю никаких данных:

- (void) retrieveTopTenScores 
 {
  GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
  if (leaderboardRequest != nil)
   {
    leaderboardRequest.playerScope = GKLeaderboardPlayerScopeGlobal;
    leaderboardRequest.timeScope = GKLeaderboardTimeScopeToday;
    leaderboardRequest.identifier = kLeaderboardID;
    leaderboardRequest.range = NSMakeRange(1,10);
    [leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
        if (error != nil)
        {
            // Handle the error.
        }
        if (scores != nil)
        {                
          // Process the score information. 
         } else {
           NSLog(@"scores retrieved successfully but no scores in the leaderboard"); 
        }
    }];
  }
}



-(void)submitMyScore
{
 //This is the same category id you set in your itunes connect GameCenter LeaderBoard
 GKScore *myScoreValue = [[GKScore alloc] initWithLeaderboardIdentifier:kLeaderboardID];
 myScoreValue.value = 5123123;

 [myScoreValue reportScoreWithCompletionHandler:^(NSError *error){
    if(error != nil){
        NSLog(@"Score Submission Failed");
    } else {
        NSLog(@"Score Submitted");
    } 
 }];
}

Так что я ищу простой пример кода, чтобы сделать это успешно... спасибо богатым

2 ответа

Ответ заключается в том, чтобы отправить оценки в iOS7 в игровой центр

Game Center Helper/ Менеджер / Контроль (Объект).h

 + (gamecenterhelper/manager/control *)sharedInstance;
 -(void)reportScore:(int64_t)score forLeaderboardID:(NSString*)identifier;

Game Center Helper/ Менеджер / Контроль (Объект).m

-(void)reportScore:(int64_t)score forLeaderboardID:(NSString*)identifier
{
GKScore *scoreReporter = [[GKScore alloc] initWithLeaderboardIdentifier: identifier];
scoreReporter.value = score;
scoreReporter.context = 0;

NSArray *scores = @[scoreReporter];
[GKScore reportScores:scores withCompletionHandler:^(NSError *error) {

}];
}

viewcontroller.h

#import "gamecenterhelper/manager/control"

viewcontroller.m

[[gamecenterhelper/manager/control sharedInstance] reportScore:(int64_t) forLeaderboardID:(NSString*)];

//in place of int64_t place your integer you want uploaded, and instead on NNString* add your leaderboard identifier

Я не вижу ничего плохого в вашем коде. Аутентифицирован ли игрок, когда вы его запускаете? Какую ошибку вы получаете? Если вы ищете пример кода GameKit, в iOS 6 Advanced Cookbook от Erica Sadun есть кое-что, но вы ничего не сможете понять, читая API.

Другие вопросы по тегам