Facebook登录卡住

时间:2018-06-25 11:57:25

标签: ios swift facebook facebook-login

我正在尝试将Facebook登录到我的应用中,并且我一直在密切关注文档。

  1. 我设置了Info.plist文件
  2. 我还设置了AppDelegate

viewDidLoad方法中,我有以下代码:

let loginButton = LoginButton(readPermissions: [ .publicProfile ])
loginButton.center = view.center
loginButton.delegate = self
view.addSubview(loginButton)

viewController符合委托:

extension FacebookLoginViewController: LoginButtonDelegate {
        func loginButtonDidCompleteLogin(_ loginButton: LoginButton, result: LoginResult) {
            switch result {
            case .cancelled:
                print("User cancelled login")
            case .failed(let error):
                print("Failed: \(error)")
            case .success:
                print("Successful login")
            }
        }

        func loginButtonDidLogOut(_ loginButton: LoginButton) { print("Logged out") }
}

当我单击登录按钮时,会出现一个应用程序内浏览器窗口,询问我是否要使用Facebook应用程序或浏览器登录。 screenshot of selection view

如果我选择浏览器,则需要输入我的用户名和密码,并且该浏览器有效

如果我选择该应用,然后执行身份验证过程,然后返回到我的应用,就好像什么都没发生。选择Facebook应用程序或浏览器的提示仍然存在。该请求没有失败或成功,也没有任何结果。它甚至没有调用委托方法。

要通过应用程序进行身份验证,还需要做其他事情吗?

1 个答案:

答案 0 :(得分:0)

解决方案很简单。 直接来自Facebook iOS团队:您要做的就是在AppDelegate文件中添加此功能。

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    return FBSDKApplicationDelegate.sharedInstance().application(app, open: url, options: options)
}