IOS SWIFT:你已经授权了facebook ios

Posted

技术标签:

【中文标题】IOS SWIFT:你已经授权了facebook ios【英文标题】:IOS SWIFT: You have already authorized facebook ios 【发布时间】:2016-06-14 16:35:30 【问题描述】:

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

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

                
            )
        
    

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于IOS SWIFT:你已经授权了facebook ios的主要内容,如果未能解决你的问题,请参考以下文章

Facebook登录给我已经授权这个应用程序每次ios

iOS Facebook SDK:您已经授权应用程序后出现空白屏幕?

FBSDK 检查用户是不是已经授权应用程序 Swift

在 Swift 中登录 Facebook。 “收到未知方案:授权”

iOS [Swift]:解析 Facebook 登录“使用未解析的标识符‘权限’”

Facebook iOS 在单击“确定”后返回应用程序时似乎丢失会话您已经授权应用程序