Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS with Parse. PFUser.currentuser() not getting cached. Returns nil after app restart

I am building an app with Parse in swift. PFUser.currentuser() always returns nil after the app is stopped and run again. I am using the iOS simulator and the local datastore is enabled. I am using something like this -

if PFUser.currentuser() == nil {
// Perform segue to login screen
}

And for login I am using

PFUser.loginWithUsernameInBackground(...)

The currentuser remains till the app is restarted, after which it is reset to nil. I have even tried to pin the currentuser but it doesn't work. How can I check if the currentuser is being cached locally. Any help would be appreciated. Thanks.

like image 758
shubhamrawal7 Avatar asked Jun 29 '15 17:06

shubhamrawal7


2 Answers

For me, the reason is simply the following part is not executed. Be careful of multi-thread. Usually that's the cause.

Parse.setApplicationId("xx","xx")
like image 56
Tristan.Liu Avatar answered Nov 18 '22 19:11

Tristan.Liu


Are you sure you're not resetting the simulator and are running on the same one? It should not clear the currentUser. Is it possible you are calling

PFUser.logout()

in 'applicationWillTerminate' in AppDelegate or anywhere else?

like image 1
Nathaniel Avatar answered Nov 18 '22 20:11

Nathaniel