gpt4 book ai didi

ios - Facebook 使用 Swift 和 Parse 登录到主 ViewController

转载 作者:行者123 更新时间:2023-11-28 06:57:15 25 4
gpt4 key购买 nike

我将 Parse/Swift 与自定义 Facebook 登录按钮结合使用。它成功加载并且用户可以登录,但是当它成功登录时,只显示 MainViewController 的闪光,然后返回到登录页面。

在成功登录 Facebook 后,如何让它使用 segue 或转到主视图 Controller ? Swift 2 的正确代码是什么?

下面是我的 Facebook 按钮的 SignInViewController 中的代码:

 @IBAction func didTapFacebookConnect(sender: AnyObject) {
let permissions = [ "public_profile", "email", "user_friends" ]

PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions, block: {
(user: PFUser?, error: NSError?) -> Void in

self.dismissViewControllerAnimated(true, completion: nil)

if let user = user {
if user.isNew {
print("User signed up and logged in through Facebook!")
} else {
print("User logged in through Facebook!")
self.dismissViewControllerAnimated(true, completion: nil)
}
} else {
print ("The user cancelled the Facebook; login.")
}
})

编辑:

现在这是我的新代码,但仍然有同样的问题,新的 ViewController 会短暂弹出,但随后会返回登录页面。

这是我收到的错误。警告:尝试在 U****d.SignInViewController: 0x7face0d1c310 上呈现 UITabBarController: 0x7face0f619f0>,其 View 不在窗口层次结构中!

@IBAction func didTapFacebookConnect(sender: AnyObject) {
let permissions = [ "public_profile", "email", "user_friends" ]

PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions, block: {
(user: PFUser?, error: NSError?) -> Void in

self.performSegueWithIdentifier("fbSignIn", sender: self)

if let user = user {
if user.isNew {
print("User signed up and logged in through Facebook!")


} else {
print("User logged in through Facebook!")

}
} else {
print ("The user cancelled the Facebook; login.")
}

最佳答案

现在,如果用户成功登录,您实际上是在调用 dismiss View Controller 函数两次。我不确定您的 View Controller 的 Storyboard 流程,但没有证据表明这里有 segue。

dismissViewController(true,completion:nil)

但是,如果您创建了从登录 Controller 到存储板中应用程序主屏幕的 segue,则在成功注册或登录后,您应该使用适当的标识符调用以下命令。

performSegueWithIdentifier("SEGUEIDENTIFIER",sender:nil)

此外,一个提示是您应该检查 PFUser.currentUser() 以查看是否有缓存的用户实例,这样您就可以立即转到主视图 Controller ,而无需用户每次都登录。

关于ios - Facebook 使用 Swift 和 Parse 登录到主 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33132099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com