0

我正在开发应用程序,其中添加了 FBSDKLoginKit 以允许用户使用 Facebook 登录。输入 facebook 用户名和密码后,我看到下面的页面。在此处输入图像描述

现在,我按确定按钮,我看到空白页。

在此处输入图像描述

正如预期的那样,我不应该看到空白页。所以我按下左上角的完成按钮,程序从SDK调用函数handleImplicitCancelOfLogIn,我看到登录不成功,它被路由到应用程序的登录主页。

调试时我没有看到任何错误,但是当我按下完成按钮时,我看到标志 result.isCancelled 设置为 true(因为完成按钮点击调用函数 handleImplicitCancelOfLogIn)

   FBSDKLoginManager().logInWithReadPermissions(["public_profile"], fromViewController: hostViewController) { (result, error) in
        if error != nil || result.isCancelled {
            completion(error: error ?? NSError(domain: "Facebook Login Failed", code: -1, userInfo: nil))
        }

在上面的调用中,我看到错误等于 nil,但 result.isCancelled 设置为 true。

我检查了下面列出的与此类似的其他线程,我确信所有与 Facebook 相关的呼叫都是他们的并且工作正常。

  1. Facebook FBSDKLoginManager/logInWithReadPermissions Swift 示例不使用 Parse
  2. 升级到 SDK 4.1 后 Facebook 登录失败(总是取消)

这也发生在 iOS 8 和 9 上,并且在第一次开发时有效。

当前 API 版本“4.12.0”,Xcode 版本 - 版本 7.3 (7D175),iOS 8.0 和 9.0 如果我使用 iOS 8,我会在 Safari 网页上看到奇怪的响应。

任何线索/提示将不胜感激。如果您需要进一步了解,请告诉我。

4

1 回答 1

3

您需要在 AppDelegate 中实现回调方法。UIApplicationDelegateapplication:openURL:options:适用于 iOS 9.0 及更高版本。application:openURL:sourceApplication:annotation:适用于 iOS 8.0。

问题已经在这里得到解答:Facebook SDK login never callback my application on iOS 9

于 2016-10-04T05:54:08.317 回答