PFUser.current() 总是 returns 无

PFUser.current() always returns nil

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

let currentUser = PFUser.current()

        if currentUser != nil{

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

currentUser 始终为零。

我在 AppDelegate.Swift 运行 PFUser.enableAutomaticUser() 中根据最新的解析服务器 Ios SDK 配置解析客户端。这样一来,只要用户登录,他们就会保持登录状态,除非注销命令是 运行。我不知道为什么这没有发生。

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

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

我启用钥匙串共享、清理、删除应用程序,然后重新安装以使一切正常运行。

这里是steps to enable keychain.

经过多次调试,我发现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")
  }

感谢大家的帮助,很抱歉浪费了你们的时间。