Actually, when you schedule future notification, then delete app and then again re-install it, in this case you will receive previously setted notification. Which you are getting.
Solutions:
When you open the app then in "didFinishLaunchingWithOptions" method of AppDelegate, call below method.
-(void)removeAllLocalNotification
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}
So that, you will remove all previously set notification.
But, before doing above thing: You need to take care that, you have to call the above method only once. Not every time when app launch.
You can do it in following way:
Create one BOOL variable and store it in NSUserDefault. Now, when app open then check it's value from NSUserDefault. If it is FALSE, then call above method and set it's value to TRUE and set into NSUserDefault.
Now, when you re-open the app then you will get it's value as TRUE so at this time, you don't need to call above method. So that, your current set notification not removed.
Hope, you got the entire things.
Happy Coding.
Cheers!