在我的应用中的初始视图控制器的viewDidLoad()
中,我运行了这个:
let currentUser = PFUser.current()
if currentUser != nil{
self.performSegue(withIdentifier: "toTabs", sender: self)
}
currentUser
总是无。
在根据最新的解析服务器Ios SDK配置解析客户端后,我在AppDelegate.Swift中运行PFUser.enableAutomaticUser()
。这应该使得当用户登录时,除非运行注销命令,否则他们将保持登录状态。我不知道为什么会发生这种情况。
答案 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)
我启用了钥匙串共享,清理,删除应用程序,然后重新安装以使工作正常。