我在我的应用程序中实现了 FB 登录,它会打开一个 WebView,如果用户通过 WebView 登录,则一切正常。 Facebook 将返回我可以使用的结果
使用 WebView 的工作代码:
fbLoginManager.logIn(withReadPermissions: ["public_profile","email"], from: UIApplication.shared.keyWindow?.rootViewController?.presentedViewController) { (result, error) in
if (error == nil){
let fbloginresult : FBSDKLoginManagerLoginResult = result!
if fbloginresult.grantedPermissions != nil {
if(fbloginresult.grantedPermissions.contains("email"))
{
self.getFBUserData()
fbLoginManager.logOut()
}
}
}
else
{
FBSDKLoginManager().logOut()
print(error)
}
}
但是,如果用户没有通过WebView登录,而是选择“使用Facebook应用程序登录”选项,我如何获取Facebook应用程序登录的结果?
最佳答案
我也遇到了同样的问题。仅当我使用自定义登录按钮时才会出现 并调用FBSDKLoginManager的logIn方法
如果我使用:
let loginButton = FBSDKLoginButton()
loginButton.delegate = self
和
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
}
问题解决了,我有Facebook应用登录的结果。
您可以轻松自定义FBSDKLoginButton。
关于ios - Swift:通过 Facebook 应用捕获 Facebook 登录事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44421365/