FacebookSDK(4.7)自定义登录UI按钮 - Swift 2.0

时间:2015-10-12 08:45:09

标签: ios swift swift2 fbsdk

我是swift的新手,如何解决可选“致命错误的错误:在解开可选值时意外发现nil”。当我取消Facebook登录过程时会发生此错误。 error in code

2 个答案:

答案 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()
                    }
                }

            })
        }