iOS 3.1 Facebook SDK を統合しています。Facebook 機能を使用したログインを実装するときは、 を呼び出しますFBSession openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:
。シミュレーター (FB アカウントがネイティブにセットアップされていない場所) で呼び出されると、正常にログインできます。
ただし、ネイティブの Facebook アカウントがセットアップされたデバイスから呼び出すと、アラート ダイアログでアプリが Facebook を使用することを許可するかどうかに関係なくopenActiveSessionWithReadPermissions...
、完了ハンドラーで返されるセッション タイプは常にになります。sessionStateClosedLoginFailed
メソッドを呼び出す前のセッション状態はsessionStateCreated
です。
これはNSError
、完了ハンドラーからのものです。
Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. (com.facebook.sdk error 2.)" UserInfo=0x20a80820 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:ErrorLoginFailedReason, com.facebook.sdk:ErrorInnerErrorKey=Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (No value.) UserInfo=0x208ed930 {NSDebugDescription=No value.}}
この問題の原因となる間違ったことは何ですか?
更新: [設定] > [Facebook] > [これらのアプリにアカウントの使用を許可する] セクションに自分のアプリが表示されないことに気付きました (今日は間違いなく表示されていました)。
Update2 : iOS 設定アプリからアカウントを削除し、テスト ユーザーを Facebook iPhone アプリにログインすると、アプリの高速切り替えでログインできます。したがって、ネイティブ アカウントのみの問題のようです。
Update3 : サンプルの Facebook アプリ Scrumptious を実行しましたが、同じ問題があります。「ログイン」をクリックするとopenActiveSessionWithRead...
、同じエラーが発生します。
Update4 : このバグに関連している可能性がありますか? http://developers.facebook.com/bugs/450137751688028?browse=search_50a43a39b37ae4868318658
Update5 : 先に述べておくべきでしたが、この問題が発生したのは Facebook のテスト ユーザー アカウントでした。