如何使用登录facebook功能处理返回用户?

时间:2015-06-08 12:09:15

标签: ios facebook swift

我一直在设置一个可以登录Facebook功能的iOS应用程序。我正在使用Swift,因此我一直主要关注Swift的this guide。如果链接变得陈旧:我相信它是对Facebook's "login with Facebook" buttton的2.x版本的Swift的howto和翻译。

我看到了一些问题。只要我清除模拟器一切正常。如果我退出然后再次登录,一切正常。问题是当我登录然后重建应用程序时,登录按钮将记住我之前登录(它显示为“注销”),但访问令牌FBSDKAccessToken.currentAccessToken()为零并且对图形的任何调用api失败了。根据文档,这应该工作。我究竟做错了什么?尝试确定问题的后续步骤是什么?

我很高兴发布任何可能相关的代码,但是,我的代码很少与样板文件有很大不同,我不确定哪些代码可能相关。

是否有可能发生这种情况,因为我只使用模拟器?

我有可能效法错误吗?我遇到的大多数其他examples for Swift演示使用FBLoginViewDelegate代替FBLoginButtonDelegate

1 个答案:

答案 0 :(得分:0)

您需要从viewDidAppear转到目标视图控制器。 这是我可能认为有用的viewDidAppear代码的片段。

override func viewDidAppear(animated: Bool) {
    if FBSDKAccessToken.currentAccessToken() == nil{
        println("Not logged in")
    }else{
        println("Logged in")
        self.performSegueWithIdentifier("Main Navigation Controller", sender: self)
    }
}

此代码位于用户登录的视图控制器中。 如果用户 已登录到Facebook,该应用将转到我在self.performSegueWithIdentifier中指定的视图控制器。在这种情况下,我的目标视图控制器称为“主导航控制器

如果用户登录,则他们将留在登录视图控制器中,并显示“登录”的facebook登录按钮