IOS SWIFT : You have already authorized facebook ios

标签 ios swift facebook facebook-login

您好,我正在为我的 IOS SWIFT 应用程序使用 Facebook 登录 SDK。我想知道如何检测此事件(如果用户已获得授权)并将其重定向到主屏幕而不停留在那里。目前发生的情况是,一旦出现下面的屏幕,我按下“完成”按钮或“确定”按钮,它仍然显示登录屏幕。

enter image description here

 @IBAction func loginFacebookButton(sender: UIButton) {



        let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()

        fbLoginManager .logInWithReadPermissions(["email"], fromViewController: self) { (result, error) -> Void in

            if (error == nil){
                let fbloginresult : FBSDKLoginManagerLoginResult = result
                  if fbloginresult.grantedPermissions != nil {
                    dispatch_async(dispatch_get_main_queue()) {
                        self.view.addSubview(self.progressHUD)
                    }
                if(fbloginresult.grantedPermissions.contains("email"))
                {



                    self.getFBUserData()
                    //fbLoginManager.logOut()
                }else{

                print("sorry")

                }
                }}
        }
    }


    func getFBUserData(){
        if((FBSDKAccessToken.currentAccessToken()) != nil){
           // print("token not nill")
            FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, picture.type(large), email"]).startWithCompletionHandler({ (connection, result, error) -> Void in
                if (error == nil){
                    var facebook = Facebook()
                    facebook.authenticationToken = FBSDKAccessToken.currentAccessToken().tokenString
                    facebook.email = result["email"] as? String
                    facebook.firstName = result["first_name"] as? String
                    facebook.lastName = result["last_name"] as? String
                    facebook.facebookID = result["id"] as? String

                    self.sendFBDataToServer(facebook)

                }
            })
        }
    }

最佳答案

if (error == nil) block 中使用 perfomSegueWithIdentifier(_:) 到您想要呈现的任何 viewController。

关于IOS SWIFT : You have already authorized facebook ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37817619/

相关文章:

java - 为什么我收到 400 响应代码?

ios - 如何对齐 UIBezierPath 圆破折号

ios - 如何处理 UITabBarController 子类中的方向变化

ios - 尝试从未被点击的 UIImageView 中检测 "touch up"

iOS Swift 过滤器和生成模型需要太多时间

iphone - Facebook API BUG?

c# - 访问 token : "Error validating verification code." 的 Facebook 服务器端流问题

ios - swift 3.0 在添加到 View 字典时转换 tableView 的模糊使用

ios - 如何在 Swift 4 中以编程方式将 IBAction 添加到按钮?

swift - 如何用 += 运算符重载连接两个字典