I have an app in which I have implemented login, logout and some customized actions. There are certain actions that can be performed only when user is logged in but if the user
There is no way to know when a user has deleted their app. You can use NSUserDefaults
to store their login name once they're logged in and check for it's existence when you attempt to use services they have to be logged in to use. If the app has been deleted and reinstalled (or a new install) the NSUserDefaults value will be nil, if they're an established user it will be equal to their username.
[[NSUserDefaults standardUserDefaults] setObject:@"the_user_name" forKey:@"kUsername"];
[[NSUserDefaults standardUserDefaults] synchronize];
Unfortunately there are no methods called when app is removed.
I'd prefer a solution where you log out the user when he quits the app and do a quiet login when he opens the app again without noticing that he was logged out. Therefore you need to store the credentials.
So you can ensure that the user is always logged out when he doesn't use the app.
But in my opinion you should change your backend so that it doesn't matter if the user has installed the app or not. But this may depend on your use case.