Game Center対応のゲームを開発していますが、サンドボックス環境で問題が発生しています。エラーなしでスコアを正常に報告できます。ただし、リーダーボードを表示すると、スコアは表示されません。スコアが実際にそこに到達したことを確認するために、次のコードを使用してローカルユーザーのスコアをクエリします。
-(void)retrieveLocalScoreForCategory:(NSString *)category
{
GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
leaderboardRequest.category = category;
[leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores,NSError *error)
{
[self callDelegateOnMainThread: @selector(localPlayerScore:error:) withArg: leaderboardRequest.localPlayerScore error: error];
}];
}
代理人でスコアをコンソールに記録すると、正しいスコアがそこに到達したことがわかります。正しいリーダーボードカテゴリIDを使用してリーダーボードを表示していることをすでに確認しました(私は1つしか持っていません)。
サンドボックス環境のリーダーボードに私のスコアがすぐに表示されない理由を誰かが知っていますか?スコアが表示されるまでに遅延はありますか?
私が取り組んできたプロジェクトで同じ問題に遭遇しました。
GCリーダーボード(サンドボックス/ライブ)は、リーダーボードに2人以上のプレーヤーがいる場合にのみスコアを返します。
したがって、1つのデバイスで2つの異なるアカウントを使用してスコアを送信するか、別々のデバイスで2つの異なるアカウントを使用してスコアを送信するようにしてください。
TimeScopeを変更してみてください。
GKLeaderboardTimeScopeAllTimeとGKLeaderboardTimeScopeTodayが何も返さない場合がありますが、GKLeaderboardTimeScopeWeekは正常に機能します。 GCサンドボックスサーバーの問題だと思います。
Appleの話を聞いてください:あなたのウェブサービスをより良くするためにそれらの数十億のいくつかを使ってください。