首页 文章

解密Facebook登录弹出两次

提问于
浏览
0

我正在使用Parse 1.7.5和Facebook SDK 20150708.我请求了public_profile和email的权限 . 当我点击登录按钮时,它会跳转到Facebook网站以获得许可,在获得许可后,它会返回到登录页面,Facebook登录按钮会显示一个加载图标,然后再次跳转到Facebook以获得许可,我需要第二次单击“确定”按钮以完成登录过程 . 为什么我必须两次授予权限?

这是我的代码:

func logInViewController(logInController: PFLogInViewController, didLogInUser user: PFUser) {

    var permissions = [ "public_profile", "email" ]

    PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions,  block: {  (user: PFUser?, error: NSError?) -> Void in
        if let user = user {
            if user.isNew {
                println("User signed up and logged in through Facebook!")
                self.loadUserData()
                self.performSegueWithIdentifier("afterLogIn", sender: self)
            } else {
                println("User logged in through Facebook!")
                self.performSegueWithIdentifier("afterLogIn", sender: self)
            }
        } else {
            println("Uh oh. The user cancelled the Facebook login.")
        }
    })
    self.performSegueWithIdentifier("afterLogIn", sender: self)

}

1 回答

  • 1

    那是因为您在“didloginuser”委托方法中实现了代码 . 从逻辑上讲,这个方法将在用户登录后立即调用 . 在您的情况下,第二次获得权限页面时会发生这种情况 . 因此,这意味着您需要查找另一个委托方法,并将代码粘贴到那里 . 我不确定是哪一个,但检查“会登录”等 .

相关问题