FacebookSDK(4.7) 自定义登录 UI 按钮 - Swift 2.0
FacebookSDK(4.7) Custom Login UI Button - Swift 2.0
我是 swift 的新手,如何解决可选 "fatal error: unexpectedly found nil while unwrapping an Optional value" 的错误。当我取消 Facebook 登录过程时会发生此错误。
将该行更改为 if let
,如果检查失败,则可能意味着您取消了登录过程,因为 grantedPermissions 从未...被授予!
在 else
块句柄中,当用户取消登录过程时。希望这对您有所帮助。
发生此错误是因为我没有处理取消事件。
@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()
}
}
})
}
我是 swift 的新手,如何解决可选 "fatal error: unexpectedly found nil while unwrapping an Optional value" 的错误。当我取消 Facebook 登录过程时会发生此错误。
将该行更改为 if let
,如果检查失败,则可能意味着您取消了登录过程,因为 grantedPermissions 从未...被授予!
在 else
块句柄中,当用户取消登录过程时。希望这对您有所帮助。
发生此错误是因为我没有处理取消事件。
@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()
}
}
})
}