私はAppleのコードを使用して表示していGKGameCenterViewController
ます:
GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
if (gameCenterController != nil) {
gameCenterController.gameCenterDelegate = self;
[self presentViewController:gameCenterController animated:YES completion:nil];
}
これは、上記のコードを説明するテキストです。
Game Center UI が View Controller によって表示される (iOS)
ゲーム キットで使用される規則は、ビュー コントローラーの 1 つがゲーム キット ビュー コントローラーを提示することです。ビュー コントローラーは、表示された画面をプレーヤーが見終わったときに通知できるように、それが表示するビュー コントローラーのデリゲートとして機能します。リスト 2-1 は、このパターンの最も一般的な使用法を示しています。これは、Game Center ユーザー インターフェイスを表示することです。Game Center ビュー コントローラーはさまざまな Game Center コンテンツを表示するため、ゲームがカスタム ユーザー インターフェイスを使用して Game Center コンテンツを表示する場合でも、ほとんどのゲームはプレーヤーをこの画面に移動させるボタンを提供する必要があります。
推奨コードを使用すると、この画面 (GameCenter チャレンジ) が表示されますが、これは私が望んでいるものではありません。
私もこのコードを試しました:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:"]];
そのコードを使用すると、表示されるはずの画面が表示されます。
私は何かを誤解していますか、それとも間違ったことをしていますか? コードの最初の部分でメイン メニューが表示されませんか? リーダーボードが表示されないのはなぜですか?
アップデート
私はphix23viewState
の提案に従って実装しました:
GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
if (gameCenterController != nil) {
gameCenterController.gameCenterDelegate = self;
gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards;
[self presentViewController:gameCenterController animated:YES completion:nil];
}
しかし、Leaderboards 画面を表示したい /try したにもかかわらず、同じ Challenges 画面が表示されます。