带有FBSDKLoginBehaviorWeb的FBSDKLoginManager失败并显示"未登录"错误

dev*_*os1 20 facebook-login facebook-ios-sdk facebook-sdk-4.0

最近Facebook的服务器上有关于他们如何处理登录请求的事情一定有所改变,因为这曾经完美地工作并突然停止.

(我们正在使用,FBSDKLoginManager.loginBehavior = FBSDKLoginBehaviorWeb因为我们的应用程序被复制用于多个品牌(一个代码库,许多应用程序)以及我们使用本机登录遇到的问题.)

无论如何,当我们尝试向用户呈现登录webview时(它们甚至让他们尝试登录之前),这就是我们现在看到的:

在此输入图像描述

(未登录:您尚未登录.请登录并重试.)

这是我们用来呈现登录视图的代码:

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];
    // ...
}];
Run Code Online (Sandbox Code Playgroud)

另请注意,此问题并非特定于iOS.我们的Android应用程序看到了同样的事情(并且直到最近它再次工作正常).

and*_*anc 35

我有同样的错误......好像问题出在你的info.plist网址方案设置中:Facebook SDK:app未注册为URL方案

但是,添加这些会导致应用程序将您发送到实际的Facebook应用程序进行身份验证,而不是在您自己的应用程序中显示登录模式.

**更新**

对不起,我说的太快了......上面的修改会有所帮助(或以你不想要的方式改变用户流),但真正需要发生的事情(这是唯一的事情),只是添加一个"iOS平台"(或其他)到Facebook Developer门户中的应用程序设置.无论如何,这对我来说就是这样.:)

在此输入图像描述