localPlayer
アプリで友達のリーダーボードを表示したい。フレンドのみのスコアを gamecenter から取得できることは知っていますが、フレンドの表示名を取得するにはどうすればよいですか? 使用できることはわかってloadPlayersForIdentifiers
いますが、2 つの呼び出しを行う必要がありますか? 1 つはすべての友達の名前を取得し、もう 1 つはリーダーボードを取得して、それらを一致させますか? これはやや効率が悪いようですか?
GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
if (leaderboardRequest != nil)
{
leaderboardRequest.playerScope = GKLeaderboardPlayerScopeFriendsOnly;
leaderboardRequest.timeScope = GKLeaderboardTimeScopeAllTime;
leaderboardRequest.category = @"HighScore";
leaderboardRequest.range = NSMakeRange(1,100);
[leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
if (error != nil)
{
// Handle the error.
}
if (scores != nil)
{
GKScore* myScore = leaderboardRequest.localPlayerScore;
NSLog(@"Me: %@: %d",myScore.playerID, (int)myScore.value);
// Process the score information - here I would filter
for (GKScore* score in scores)
{
NSLog(@"%@: %d",score.playerID, (int)score.value);
}
}
}];
}