Ne laisser apparaître qu'une seule notification locale

J'ai un énorme problème! Mon problème est que j'ai implémenté un code de notification locale dans mon délégué. J'ai mis dans ce code dans la méthode didEnterBackround. Cependant, je reçois un localnotifi pour chaque didEnterBackround. Existe-t-il un moyen possible que seulement une nouvelle notification firedate commence, si le dernier a disparu? Comme si j'avais un localnotifi qui se triggers après 5 jours. Quand j'ouvre et ferme l'application 5 fois et attends 5 jours je reçois 5 notifications locales. Est-il possible de laisser l'application faire un seul feu et après cela apparaît un nouveau commence ?!

Mon code:

NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar]; NSDate *currentDate = [NSDate date]; NSDateComponents *dateComponents = [calender components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:currentDate]; NSDateComponents *timeComponents = [calender components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:currentDate]; NSDateComponents *temp = [[NSDateComponents alloc]init]; [temp setYear:[dateComponents year]]; [temp setMonth:[dateComponents month]]; [temp setDay:[dateComponents day]]; [temp setHour:[timeComponents hour]]; [temp setMinute:[timeComponents minute]]; [temp setSecond:[timeComponents second] +10]; NSDate *fireTime = [calender dateFromComponents:temp]; UILocalNotification *localN = [[UILocalNotification alloc]init]; localN.fireDate = fireTime; localN.timeZone = [NSTimeZone defaultTimeZone]; localN.alertBody = @"BLA BLA BLA!"; localN.alertAction = @"GO BACK"; localN.applicationIconBadgeNumber = 1; [[UIApplication sharedApplication] scheduleLocalNotification:localN]; 

Vous êtes en mesure d'annuler toutes les notifications planifiées:

 [[UIApplication sharedApplication] cancelAllLocalNotifications]; 

Si vous ne voulez pas supprimer TOUTES les notifications planifiées (peut-être avez-vous prévu quelque chose d'autre), jetez un oeil à cancelLocalNotification: ce qui vous permet d'annuler une seule instance.