2012-04-26 18 views
8

私の状況は次のとおりです。ゲームセンターはauthenticateWithCompletionHandlerリクエスト(iOS)に応答しません

1)ユーザーが最初に自分のアプリケーションを開きます。直ちにauthenticateLocalUserを呼び出してGame Centerにログオンしようとします。ログイン、アカウントの作成、およびキャンセルボタンが表示されたポップアップが正常に表示されます。

2)ユーザーは今すぐログインしたくないので、[キャンセル]をクリックします。 (これは「キャンセル」をクリックした3回目ではなく、「ゲームセンターを無効にして、ゲームセンターアプリからログインする」というメッセージは表示されません)。

3)後でGame Centerを使用したいので、Game Centerにログインするためのボタンをクリックします。もう一度authenticateLocalUserを呼び出します。今回は、ポップアップが表示されません。実際には何も私はこれらのコンソールログメッセージを受信することを除いて、起こりません:私は両方すぐに再びauthenticateLocalUserを呼び出すボタンを押すと、さらにその前にかなりの時間を待ってテストしている

2012-04-26 08:38:42.861 Clink[332:707] authenticateWithCompletionHandler: enter 
2012-04-26 08:38:42.863 Clink[332:707] authenticateWithCompletionHandler: exit 

4)。どんな時点で私は再び何も表示されない、と私は関数からこのエラーを取得し、再びauthenticateLocalUserを呼び出す:

Error Domain=GKErrorDomain Code=7 "The requested operation could not be completed because local player is already authenticating." 

だから何が起こっているように見えるが、私はステップ3でauthenticateLocalUserを呼び出すとき、私はゲームを求めています、ということです認証するためのセンターですが、ハングアップしており、リクエストに応答していません。その後、ステップ4で再度試してみると、すでに認証しようとしているためリクエストを処理できないことがわかります。しかし、私はステップ3での私の要求からの応答に10分ほど待っていましたが、ゲームセンターからは1つも取得できませんでした。

これは私のauthenticateLocalUser関数の内容です。私が知っている限り、Appleのサンプルコードからダウンロードしたバージョンから変更していません。

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

これまでにこの問題が発生したことはありますか?私はこれをしばらく見てきましたが、何が起こっているのか分かりません。

ありがとうございます!

+0

この問題が解決した場合はお知らせください。私は同じ問題に直面しています。ありがとう。 – DancOfDeth

+0

Newi、残念ながら私はしていません。しかし、同じ問題に直面している統一開発者が見つかりました。私はこの時点で解決策があるとは確信していません。これはおそらく(非常に奇妙なことですが)アップルの行動を意図していますか? – WendiKidd

+0

私は同じ問題を抱えています...私はそれが私が間違っていたことだと思っていました。 –

答えて

-1

上記の問題の場合があります 1.この場合、認証方法を2つ呼び出すと問題が発生します 2.クラスAで認証メソッドを初めて使用して実行した後、クリーンで再構築せずにクラスBで

どちらの場合もきれいにしてから再構築してください。

私も同じ問題に直面していますが、私は解決策があり解決しました。

+1

申し訳ありませんが、私はあなたの答えを理解していません。どうぞお分かりですか?あなたのソリューションは何ですか? – WendiKidd

1

もう1つのゲームセンターアカウントが認証されたときも同じ問題がありました。通常のアカウントでゲームにログインし、同時にテストにログインしたときに起こります。

デバイス設定をリセットして、テスト中に実際のアカウントで他のゲームにログインしないでください。それはあなたが同時に両方を行うときに起こります。あなたのデバイスの設定をリセットし、プロジェクトをきれいにしてください。それは問題ありません。テスト用のiTunesアカウントだけを使用してゲームをテストします。

+0

ちょうど私のコードが失敗していた理由を理解しようと数時間を失った...ちょうどGameCenterからログアウトし、それが動作する、おかげでアップル... – Gregory

関連する問題