I made this code below to get the rank from friend scope in game centre. Unfortunately it only returns the rank of the global scope.
...
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
}
}];
...
Is there an correct or alternate way other than looping through the full friends leaderboard?