PFUser.current()始终返回nil

时间:2017-08-10 02:55:57

标签: ios swift parse-platform pfuser

在我的应用中的初始视图控制器的viewDidLoad()中,我运行了这个:

let currentUser = PFUser.current()

        if currentUser != nil{

        self.performSegue(withIdentifier: "toTabs", sender: self)
    }

currentUser总是无。

在根据最新的解析服务器Ios SDK配置解析客户端后,我在AppDelegate.Swift中运行PFUser.enableAutomaticUser()。这应该使得当用户登录时,除非运行注销命令,否则他们将保持登录状态。我不知道为什么会发生这种情况。

3 个答案:

答案 0 :(得分:1)

经过大量调试后,我意识到PFUser.enableAutomaticUser()正常运行。问题是self.performSegue(withIdentifier: "toTabs", sender: self)没有被分派到主队列。我通过将代码更改为:

来解决此问题
 let currentUser = PFUser.current()

    if currentUser?.username != nil{

        print(currentUser!)

        DispatchQueue.main.async(){

        self.performSegue(withIdentifier: "toTabs", sender: self)

        }

    }else{

        print("No current User")
  }

谢谢你们所有人的帮助,我很抱歉浪费你们的时间。

答案 1 :(得分:0)

我在运行Parse 2.2版时遇到了同样的问题(或更老,不确定),你在哪里调用PFUser.enableAutomaticUser() ?,我在ApplicationID发布后立即调用它来解决它:

Parse.setApplicationId(parseApplicationID, clientKey:parseClientKey)
PFUser.enableAutomaticUser()

答案 2 :(得分:0)

我启用了钥匙串共享,清理,删除应用程序,然后重新安装以使工作正常。

以下是steps to enable keychain.