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

Posted

技术标签:

【中文标题】FacebookSDK(4.7) 自定义登录 UI 按钮 - Swift 2.0【英文标题】:FacebookSDK(4.7) Custom Login UI Button - Swift 2.0 【发布时间】:2015-10-12 08:45:08 【问题描述】:

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

【问题讨论】:

可能对你有帮助:***.com/a/24643643/988169 【参考方案1】:

将该行更改为if let,如果检查失败,则可能意味着您取消了登录过程,因为grantPermissions 从未......被授予!

当用户取消登录过程时,else 块句柄中。希望这会有所帮助。

【讨论】:

谢谢,但我知道它可以通过 if let 绑定来解决,但是如何解决?对于布尔【参考方案2】:

发生此错误是因为我没有处理取消事件。

    @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()
                    
                

            )
        

【讨论】:

以上是关于FacebookSDK(4.7) 自定义登录 UI 按钮 - Swift 2.0的主要内容,如果未能解决你的问题,请参考以下文章

FacebookSDK 无法登录,授权后出现白屏。

使用自定义按钮登录 Facebook

自定义 Facebook 登录视图 Swift

使用自定义登录按钮检索Facebook页面

检查 accesstoken 是不是过期 Facebook SDK 4.7 ios

自定义移动 Facebook 登录按钮?