解析 Facebook 登录弹出两次

Posted

技术标签:

【中文标题】解析 Facebook 登录弹出两次【英文标题】:Parse Facebook login pop up twice 【发布时间】:2015-07-22 19:25:46 【问题描述】:

我正在使用 Parse 1.7.5 和 Facebook SDK 20150708。我请求 public_profile 和电子邮件的权限。当我点击登录按钮时,它会跳转到 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】:

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

【讨论】:

以上是关于解析 Facebook 登录弹出两次的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将 UINavigationController 弹出两次? [复制]

为啥Apple支付单会弹出两次?

Javascript问题:alter()窗口连续弹出两次?WHY?!

VC++ MFC关于全局勾子的执行次数问题,高手帮助!成功调用以后,按下F9会弹出两次对话框,求解?只要执行一

使用 Parse 登录 Facebook 不起作用

无法使用 quickblox(iOS)登录 facebook