私の状況は次のとおりです。ゲームセンターは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];
}];
}
}
これまでにこの問題が発生したことはありますか?私はこれをしばらく見てきましたが、何が起こっているのか分かりません。
ありがとうございます!
この問題が解決した場合はお知らせください。私は同じ問題に直面しています。ありがとう。 – DancOfDeth
Newi、残念ながら私はしていません。しかし、同じ問題に直面している統一開発者が見つかりました。私はこの時点で解決策があるとは確信していません。これはおそらく(非常に奇妙なことですが)アップルの行動を意図していますか? – WendiKidd
私は同じ問題を抱えています...私はそれが私が間違っていたことだと思っていました。 –