Я сейчас работаю с Game Center и у меня проблема с GC.Когда я использую initWithPlayerIDs :, я не получаю никакого результата, когда вызывается loadScoresWithCompletionHandler: callback.
GKLeaderboard *leaderBoard = [[[GKLeaderboard alloc] initWithPlayerIDs:[NSArray arrayWithObject:gcPlayerID]] autorelease];
leaderBoard.timeScope = GKLeaderboardTimeScopeAllTime;
leaderBoard.category = @"SomeLeaderboard";
[leaderBoard loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
if (error == nil)
{
// scores is null
// ...
}
Но когда я делаю:
GKLeaderboard *leaderBoard = [[[GKLeaderboard alloc] init] autorelease];
leaderBoard.timeScope = GKLeaderboardTimeScopeAllTime;
leaderBoard.category = @"SomeLeaderboard";
[leaderBoard loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
if (error == nil)
{
for (GKScore* score in scores)
if ([score.playerID isEqualToString:gcPlayerID])
{
// Got something here
return;
}
}
Это работает.
В настоящее время я использую 2-й метод, но при наличии большого количества баллов у него будет время для обработки.
У кого-нибудь есть такая же проблема?
Спасибо.