Vous devrez gérer manuellement ceci, la façon dont je suggérerais de le faire en utilisant la méthode didReceiveLocalNotification
de votre AppDelegate. Implémentez ceci et vérifiez la propriété fireDate
de votre UILocalNotificationObject
. Vous pouvez analyser ce soit un jour de la semaine en utilisant le code suivant:
int dayOfWeek = [[NSCalendar currentCalendar] component:NSCalendarUnitWeekday fromDate:notification.fireDate];
Vous pouvez ensuite stocker incrémente cette valeur dans le NSUserDefaults
en fonction du nombre que vous avez. 1 aura lieu le lundi 2 mardi, etc ...
long dayOfWeek = [[NSCalendar currentCalendar] component:NSCalendarUnitWeekday fromDate:notification.fireDate];
long currentCount = [[NSUserDefaults standardUserDefaults] integerForKey:[NSString stringWithFormat:@"weekdayNotificationCount_%ld", dayOfWeek]];
[[NSUserDefaults standardUserDefaults] setInteger:currentCount + 1 forKey:[NSString stringWithFormat:@"weekdayNotificationCount_%ld", dayOfWeek]];
De cette façon, vous aurez toujours un total en cours d'exécution stockés dans votre NSUserDefaults
et cela ne disparaîtra que si l'application est supprimée. La fonction didReceiveLocalNotification est déclenchée lorsque je tape sur le message de notification reçu.
Si je n'ai pas ouvert la notification, alorsReceiveLocalNotification ne fonctionnera pas et le compte sera incompatible. – kiran
Hmm dans ce cas, je pense que vous pourriez être coincé. Vous pouvez le faire avec des notifications à distance, mais vous avez déjà dit que vous n'aviez aucune possibilité pour cela. –
vous avez raison Je n'ai pas de possibilité de notification push pour cela, y a-t-il une méthode qui se déclenche une fois que j'ai reçu le signal de notification sonne? – kiran