web-dev-qa-db-ja.com

FBSDKLoginBehaviorWebでのFBSDKLoginManagerが「Not Logged In」エラーで失敗する

Facebookのサーバーでは、ログインリクエストの処理方法について最近何かが変更されたはずです。これは、以前は完全に機能し、突然停止していたためです。

(複数のブランド(1つのコードベース、多くのアプリ)でアプリを複製する方法と、ネイティブログインを使用して問題が発生したため、FBSDKLoginManager.loginBehavior = FBSDKLoginBehaviorWebを使用しています。)

とにかく、これはユーザーにログインWebViewを表示しようとしたときに表示されるものです(beforeログインを試行することさえできます):

enter image description here

(ログインしていません:ログインしていません。ログインして、もう一度試してください。)

これは、ログインビューを表示するために使用しているコードです。

NSString *const publish_actions = @"publish_actions";
FBSDKLoginManager* login = [FBSDKLoginManager new];
login.loginBehavior = FBSDKLoginBehaviorWeb;
[login logInWithPublishPermissions:@[publish_actions] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
    [FBSDKAccessToken setCurrentAccessToken:result.token];
    // ...
}];

また、この問題はiOSに固有のものではないことに注意してください。私たちのAndroidアプリは同じものを見ています(また、最近まで正常に動作していました)。

20
devios1

私はこれと同じバグを抱えていました...問題はinfo.plist URLスキーム設定にあるようです: Facebook SDK:URLスキームとして登録されていないアプリ

ただし、これらを追加すると、アプリにログインモーダルが表示されるのではなく、認証のために実際のFacebookアプリに送られます。

**更新**

申し訳ありませんが、私はあまりにも早く話しました...上記の変更は物事を助けます(またはあなたが望まない方法でユーザーフローを変更します)が、本当に起こる必要があります(そしてこれが唯一のものです)、単に追加しました「iOSプラットフォーム」(またはその他)をFacebook開発者ポータルのアプリ設定に追加します。とにかくこれは私のためにそれをしたものです。 :)

enter image description here

35
andersryanc