1

ゲームに GameCenter を実装しています。チュートリアルに従い、リーダーボードと実績の ID を作成しました。

認証と実績はうまく機能しています。しかし、GameCenter は自分のレベルのスコアを表示しません。

以下のコードを使用して、スコアを GameCenter サーバーに送信しています。送信操作は常に成功を返します。しかし、スコアが表示されません。

GKScore *scoreReporter = [[GKScore alloc] initWithLeaderboardIdentifier: identifier];
scoreReporter.value = score;
scoreReporter.context = 0;

[GKScore reportScores:@[scoreReporter] withCompletionHandler:^(NSError *error) {
    if (error == nil) {
        NSLog(@"Score reported successfully!");
    } else {
        NSLog(@"Unable to report score!");
    }
}];

他のスレッドをいくつか読みましたが、一貫性が十分ではありません。私のIDは正しく、コードはうまく機能しています。iOS 9 サンドボックス オプションでは使用できません。したがって、デバイスの設定からサンドボックスを選択することは問題ではありません。

私の研究から、なぜそれが機能しないのかを考えることができる理由のいくつかは次のとおりです。

  • スコアの同期には時間がかかります (最初の試行から 5 時間かかりました)
  • 小さなスコアがサーバーに送信されない場合があります (これが発生している場合、これは非常にばかげたバグですが、他のスレッドで言及されていました)。
  • テストに関する何らかの問題 (アチーブメントが機能しているため、私が考える問題ではありません)

どんな助けでも大歓迎です。

4

1 に答える 1

1

1日が経過した後、それは機能し始めました。運が悪かったと思うのですが、これはそれほど長くないはずです。

于 2015-10-20T15:09:35.780 に答える