Swift FacebookSDK登录错误

时间:2016-02-25 22:25:07

标签: swift ios9 facebook-login

我使用Facebook SDK实现登录时面临一个奇怪的问题。

我有2个观点: - 登录视图,带有facebook按钮 - 欢迎视图,访问仅限于已登录用户

登录视图中的我的代码:

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)

    if ( FBSDKAccessToken.currentAccessToken() != nil){
        let homePage = self.storyboard?.instantiateViewControllerWithIdentifier("SWRevealViewController") as! SWRevealViewController
        let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
        appDelegate.window?.rootViewController = homePage
    }
}

func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
    if error != nil {
        print(error.localizedDescription)
        return
    }
    if let _:FBSDKAccessToken = result.token {
        let homePage = self.storyboard?.instantiateViewControllerWithIdentifier("SWRevealViewController") as! SWRevealViewController
        let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
        appDelegate.window?.rootViewController = homePage
    }
}

在欢迎视图中,我只是在控制台上添加了一条WELCOME消息。

错误如下:当我的用户尚未登录时,我会看到两次WELCOME消息。

这意味着2个线程进入欢迎视图:一个带有登录按钮,另一个带有viewDidload()。

实施登录以避免此问题的最佳方法是什么?

感谢您的反馈。

修改

欢迎查看代码:

override func viewDidLoad() {
    super.viewDidLoad()

    if (self.revealViewController() != nil) {
        self.menuButton.target = self.revealViewController()
        self.menuButton.action = "revealToggle:"
        self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
    }

    print("WELCOME")
}

0 个答案:

没有答案