0

使用 Facebook SDK 4.7.0 尝试打开 Facebook 登录对话框失败。从 UI 的角度来看,“什么都没有发生”。

我进入-canOpenURL: failed for URL: "fbauth2:/" - error:我的控制台日志,人们说我可以忽略

在控制台上我也立即收到此警告Warning: Attempt to present <FBSDKContainerViewController: 0x1268cdd20> on <UIAlertController: 0x12688dac0> whose view is not in the window hierarchy!

好的。

作为记录,我的 plist 中有正确的 Facebook SDK 4.6.0+ 条目以及 NSAppTransport 协议的 Facebook 特定豁免。

在我添加这些东西之前它崩溃了,在我添加这些东西之后它工作了,但没有注意到它不起作用!

我开始这个过程使用

[login logInWithReadPermissions:settings.readPermissions
                            handler:^(FBSDKLoginManagerLoginResult     *result, NSError *error) {   

是的,已弃用的功能,但它仍然有效。不幸的是,它永远不会回到这个块内的任何回调

并且在其中进行调试时FBSDKLoginManager.m会到达此代码块

  case FBSDKLoginBehaviorBrowser: {
  [self performBrowserLogInWithParameters:loginParams handler:^(BOOL openedURL,
                                                                NSString *authMethod,
                                                                NSError *openedURLError) {
    if (openedURL) {
      completion(YES, authMethod, openedURLError);
    } else {
      completion(NO, authMethod, openedURLError);
    }
  }];
  break;
}

它运行completion(YES, authMethod, openedURLError);是因为openedURL 返回true。

但我的应用程序没有任何反应。没有启动浏览器或 Facebook 应用程序。

任何见解表示赞赏。

4

1 回答 1

0

我最终降级到 Facebook 4.5.1 并为 Facebook 4.5 或更低版本更新了我的 plist。它按预期工作

于 2015-10-22T14:52:23.407 回答