2011-01-01 16 views
16

Game Center(GC)をサポートするiPhoneゲームを構築しています。アプリが起動すると、ローカルプレーヤーを認証しようとします...iOS開発:Game Centerユーザーの認証に奇妙な問題があります

if([GKLocalPlayer localPlayer].authenticated == NO) 
    { 
     [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) 
     { 
      [self callDelegateOnMainThread: @selector(processGameCenterAuth:) withArg: NULL error: error]; 
     }]; 
    } 

すべてがうまくいっていたようです。アプリが起動すると、ユーザーがGCに署名されていない場合は、アプリが彼らに3つのオプションを与えてダイアログボックスを表示していました...既存のアカウントに

  1. ログイン
  2. をキャンセルアカウント
  3. を作成します。

これは望ましい動作ですが、テスト中に[キャンセル]オプションをクリックすると、次のエラーで認証プロセスのエラーが出力されるようになりました。アプリを削除して再インストールしても、それでもエラーは出力されず、ダイアログボックスが表示されることはありません。

は、誰もがなぜこれが起こっている知っていますか私はそれを修正することができますか?

あなたの知恵をお寄せいただきありがとうございます!

答えて

32

アップルの文書化されていない動作です。

ユーザーが連続して3回キャンセルを押した後、Game Centerアプリに行ってそこから接続する必要があります。

Go図。

+1

投稿していただきありがとうございます。私は同じ問題にぶつかりました。 –

+0

有用なエラーメッセージはそれほどありません。 – typeoneerror

+3

サンドボックスアカウントにサインインする必要があり、Game Centerアプリがそのオプションを提供しない場合の解決策は何ですか?私はアプリで認証しようとすると 'nil'エラーが表示されることを除いて、同様の状況に陥っている可能性があります。モーダルサインインダイアログはありません。 –