I am trying to get to grips with Parse and build a simple chat app. For my login and signup code I have this snippet:
PFInstallation *installation = [PFInstallation currentInstallation];
installation[@"user"] = [PFUser currentUser];
[installation saveInBackground];
This code connects a PFInstallation to a PFUser so a push can be sent by querying a username.
When the app loads I first check to see if there is already a user logged in:
if ([PFUser currentUser]) {
[self performSegueWithIdentifier:@"showFriends" sender:nil];
}
if a user is already logged in the show friends view controller is loaded. Do I need to set the installation again in this code to match the user? i.e.
if ([PFUser currentUser]) {
PFInstallation *installation = [PFInstallation currentInstallation];
[installation[@"user"] = [PFUser currentUser];
[installation saveInBackground];
[self performSegueWithIdentifier:@"showFriends" sender:nil];
}
Or is there no need because the user is already logged in? Am I right in thinking that the installation file is UNIQUE and only created once, matching the device to the push service so nothing really changes in that file unless I want to update the PFUser field I added? thanks
if a user is already logged in the show friends view controller is loaded. Do I need to set the installation again in this code to match the user?
No. Installations and User classes act independently, but in your case since you set a relation then they can act together as well. Since you already set it in application didFinishLaunchingWithOptions:
that device has uniquely identified its installation with the token you've provided (device token) so you don't have to call it again.
A User session is different. If you want the User to be logged in you will have to present the login VC somewhere, since it won't be there the first launch.
Am I right in thinking that the installation file is UNIQUE and only created once, matching the device to the push service so nothing really changes in that file unless I want to update the PFUser field I added? thanks
Yes. That's pretty accurate. Just don't get confused. PFUser currentUser
is not the same as PFInstallation currentInstallation
anyone can sign on to a device but the app can only be installed once on a device making the installation unique. Not users.