5

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 のテスト ユーザー アカウントでした。

4

2 に答える 2

3

Facebook のテスト ユーザー アカウントの使用から通常のアカウントに切り替えたところ、Scrumptious アプリと私のアプリの両方で問題が解決しました。

于 2012-11-15T02:31:44.310 に答える
0

plistに設定しFacebookAppIDましたか?Facebook SDK の使用を開始する のセクション 5 の「Facebook アプリ ID の追加」を参照してください。また、デバイスの設定の「Facebook」セクションをチェックして、アプリが承認されていないことを確認します (この場合、手動で承認しない限り承認されません)。

于 2012-11-14T21:53:26.680 に答える