2015-09-09 6 views
0

Я сделал этот код ниже, чтобы получить звание от друга в игровом центре. К сожалению, он возвращает только ранг глобальной области.Как мне получить ранг в ранге друзей в Game Center?

... 
GKLeaderboard *friendLeaderboard=[[GKLeaderboard alloc] initWithPlayers:@[[GKLocalPlayer localPlayer]]]; 
       [friendLeaderboard setIdentifier:LeaderboardID]; 
       [friendLeaderboard setTimeScope:GKLeaderboardTimeScopeAllTime]; 
       [friendLeaderboard setPlayerScope:GKLeaderboardPlayerScopeFriendsOnly]; 
       [friendLeaderboard setRange:NSMakeRange(1, 1)]; 
       [friendLeaderboard loadScoresWithCompletionHandler:^(NSArray *friendScores, NSError *error) { 
        if (error) { 
         completionHandler(NULL, NULL); 
         //[scoreReporter release];//auto release added 
        } 
        else{ 
         GKScore* gScore = [globalLeaderboard localPlayerScore]; 
         GKScore* fScore = [friendLeaderboard localPlayerScore]; 
         NSLog(@"GCHelper globalScores: %@", gScore); 
         NSLog(@"GCHelper friendScores: %@", fScore); //NOT CORRECT 
         completionHandler(gScore, fScore); 
         //[scoreReporter release];//auto release added 
        } 
       }]; 
... 

Есть ли правильный или альтернативный способ, кроме прокрутки всей таблицы лидеров друзей?

ответ

0

Heres исправление:

   //get friend rank 
       GKLeaderboard *friendLeaderboard=[[GKLeaderboard alloc] init];//WithPlayers:@[[GKLocalPlayer localPlayer]]];// autorelease]; 
       [friendLeaderboard setIdentifier:LeaderboardID]; 
       [friendLeaderboard setTimeScope:GKLeaderboardTimeScopeAllTime]; 
       [friendLeaderboard setPlayerScope:GKLeaderboardPlayerScopeFriendsOnly]; 
       //[friendLeaderboard setRange:NSMakeRange(1, 1)]; 

Странная ошибка, но я думаю, мне нужно пожертвовать некоторую эффективность