我正在使用Parse为后端开发一个快速的iPhone应用程序,当我重新启动应用程序时,currentUser
无法识别并返回nil重定向到登录页面。一旦我重新登录,用户就会一直登录,直到我停止应用程序。
if PFUser.currentUser() == nil {
//return to the login page
} else {
// perform normal operations
}
我很好奇为什么会这样,因为我PFUser.logOut()
唯一的地方是退出功能,它不在初始视图控制器上,只在按下按钮时调用。在此先感谢您的帮助!
编辑:这个问题今天早上就开始了。过去两周我没有任何关于使用解析自动登录的问题。所以我不知道自己能做些什么才能做到这一点。我在昨晚和今天早上之间改变的唯一代码是尝试通过向我的VC添加委托来将数据从一个视图控制器传递到popoverViewController,但我已经删除它们并且仍然处于亏损状态。
答案 0 :(得分:1)
我最终下载了最新的Parse SDK,它解决了这个问题。来自这篇文章PFUser currentUser nil after app update的Eddy也表示恢复到之前的Parse SDK也解决了这个问题。
答案 1 :(得分:0)
我认为你应该将 AppDelegate 中的代码放入 applicationDidBecomeActive()方法中,如下所示:
func applicationDidBecomeActive(application: UIApplication)
{
if PFUser.currentUser() == nil{
// show main screen
var storyboard :UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
var LoginScreen = storyboard.instantiateViewControllerWithIdentifier("loginShow") as! UIViewController
UIApplication.sharedApplication().keyWindow?.rootViewController?.presentViewController(LoginScreen, animated: true, completion: nil)
}
else
{
//show login screen
var storyboard :UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
var MainScreenNavigation = storyboard.instantiateViewControllerWithIdentifier("TotalMainViewController") as! UIViewController
UIApplication.sharedApplication().keyWindow?.rootViewController?.presentViewController(MainScreenNavigation, animated: false, completion: nil)
}
}