Je veux faire une répétition de UILocalNotification
chaque semaine, avant iOS7 j'utiliserais localNotification.repeatInterval = NSWeekCalendarUnit
– excepté NSWeekCalendarUnit
a été déprécié.
Les docs disent:
"Utilisez NSCalendarUnitWeekOfMonth ou NSCalendarUnitWeekOfYear, selon ce que vous voulez dire"
Mais je ne sais pas quelle est la différence, alors je ne sais pas lequel je veux dire.
Ceux-ci ne semblent pas être documentés mais très probablement NSCalendarUnitWeekOfYear
aura une valeur de 1-53 (ou peut-être 0-52) représentant le numéro de la semaine dans l'année civile tandis que NSCalendarUnitWeekOfMonth
sera 1-5 (ou peut-être 0-4) représentant la semaine dans le mois.
Tout cela suppose un calendar grégorien. Je ne peux pas parler à d'autres types de calendar.
Il semble que NSCalendarUnitWeekOfMonth
soit égal à kCFCalendarUnitWeekOfMonth
qui est défini comme "Spécifie la semaine d'origine d'une unité de calendar d'un mois". et NSCalendarUnitWeekOfYear
est égal à kCFCalendarUnitWeekOfYear
qui est défini comme "Spécifie l'unité de calendar originale de la semaine de l'année".
Comme pour le UILocalNotification
NSCalendarUnitWeekOfYear
doit être utilisé comme une unité pour repeatInterval
.
Lorsque je définis repeatInterval = NSCalendarUnitWeekOfMonth
pour la notification planifiée dans 10 secondes, la notification ne se triggers pas et la description de l'instance de UILocalNotification
s'imprime .. next fire date = (null) ...
Si j'utilise NSCalendarUnitWeekOfYear
alors la notification apparaît et je vois la prochaine date de tir suivante du code dans la description de la notification.