答案 0 :(得分:0)
将该行更改为if let
,如果您未通过该检查,则可能意味着您取消了登录过程,因为授予的权限从未被授予!
当用户取消登录过程时,在else
块句柄中。希望这有帮助。
答案 1 :(得分:0)
发生此错误是因为我没有处理取消事件。
@IBAction func FBAction(sender: AnyObject) {
let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
fbLoginManager.logInWithReadPermissions(["email"], fromViewController: self, handler:{ (result, error) -> Void in
if ((error) != nil){
// Process error
}
else if result.isCancelled {
// Handle cancellations
//This method ; I should have implemented
}
else {
let fbloginresult : FBSDKLoginManagerLoginResult = result
if(fbloginresult.grantedPermissions.contains("email"))
{
self.getFBUserData()
fbLoginManager.logOut()
}
}
})
}