Let's say I set 5 local notification for an iPhone application, then the user deletes the app. If the app is installed again, it shows the previous notifications.
I know the following code deletes all notifications
[[UIApplication sharedApplication] cancelAllLocalNotifications];
But where do I put that code so that it executes when the application is deleted?
Or any other way to solve this problem.
As others have mentioned, I think the best way to accomplish this is to have a flag in didFinishLaunchingWithOptions in the application delegate that checks if it is the first launch or not.
If the app is being launched for the first time, you can call
[[UIApplication sharedApplication] cancelAllLocalNotifications];
This will cancel any existing notifications.
For example:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
// this flag will need to be stored somewhere non-volatile such as using CoreData
// or user defaults
if(flag == nil || [flag count] ==0){
[[UIApplication sharedApplication] cancelAllLocalNotifications];
// update your flag so that it fails this check on any subsequent launches
flag = 1;
}
{