我正在开发App,其中我添加了FBSDKLoginKit以允许用户使用Facebook登录。输入Facebook用户ID和密码后,我会看到下面的页面。
现在,我按下确定按钮,我看到空白页。
正如所料,我不应该看到空白页面。所以我按下左上角的Done按钮,从SDK编程调用函数handleImplicitCancelOfLogIn,我看到登录不成功,并将其路由到app的登录主页。
我在调试时没有看到任何错误,但是当我按下Done按钮时,我看到标志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相关的电话都是他们的并且工作正常。
这也适用于iOS 8和9,这在第一次开发时有效。
当前API版本“4.12.0”,Xcode版本 - 版本7.3(7D175),iOS 8.0和9.0 如果我使用iOS 8,我会在Safari网页上看到奇怪的回复。
任何线索/提示都将不胜感激。如果您需要了解更多信息,请与我们联系。
答案 0 :(得分:3)
您需要在AppDelegate中实现回调方法。适用于iOS 9.0及更高版本的UIApplicationDelegate
application:openURL:options:
。适用于iOS 8.0的application:openURL:sourceApplication:annotation:
。
这个问题已在这里得到解答:Facebook SDK login never calls back my application on iOS 9