誰かが私の質問に答えてくれることを願っていました。
私のアプリには、私が作成したランキングにアクセスできるボタンがあります。サンドボックス環境では、ユーザーがこれを初めてクリックすると、既存のアカウントまたは新しいアカウントでサインインするよう求められます。
ユーザーがユーザー名、パスワード、GameCenter の表示名などを確認した後、[既存のアカウントを使用] をクリックすると、画面が閉じてリーダーボード ボタンのある画面に戻るときに、どのボタンも応答しなくなります。ユーザーはアプリ (およびホーム ボタンのダブルクリックによるインスタンス) を強制的に終了し、アプリを再度開く必要があります。これで、通常どおりプレイでき、リーダーボードをクリックすることさえ問題なくできます。
私はこれがなぜなのか疑問に思っていました.私が持っている唯一の手がかりは、実行中に言うXcodeの出力画面を通してです:
ClubHistory[4989:707] Unbalanced calls to begin/end appearance transitions for <GKModalRootViewController: 0x1bcd90>.
他の質問を調べると、これはビューの開始/終了の衝突を意味する可能性があるようです。しかし、これをどこに実装すればよいのかよくわかりません。
最初のインスタンスでリーダーボードを開くコードの一部は次のとおりです。
-(void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
{
[self dismissModalViewControllerAnimated:YES];
}
-(IBAction ) showLeaderboard
{
GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc]init];
if (leaderboardController != NULL)
{
leaderboardController.category = self.currentLeaderBoard;
leaderboardController.timeScope = GKLeaderboardTimeScopeWeek;
leaderboardController.leaderboardDelegate = self;
[self presentModalViewController: leaderboardController animated:YES];
}
}
おそらく、私が行う必要がある変更はここで行われます。
同様の問題をオンラインで調べましたが、役に立ちませんでした。この問題を解決する方法を知っている人はいますか?
みんな、ありがとう、
アンディ。
///// クイック編集: 明確にするために、アプリで ARC をオンにしています。