Local Notification - récurrence certains jours toutes les semaines
mushu
Membre
Bonjour,
dans une application sur laquelle je travaille actuellement, je souhaite enregistrer une notification locale de sorte qu'elle se lance toutes les semaines à une certaine heures et certains jours de la semaine sélectionnés par l'utilisateurs.
Les jours sélectionnés sont représentés par un NSArray de longueur 7 (indice 0->Lundi, 1->Mardi...)
Si un jours est sélectionné, la valeur à l'indice du jour dans le tableau est 1, sinon 0.
Pour l'heure, c'est la même chaque jours enregistrés.
Mon problème est que je ne sais pas comment enregistrer une notification pour seulement les jours enregistrés dans mon tableau avec récurrence hebdomadaire...
Quelqu'un aurait une piste pour me mettre sur la voie svp ?
dans une application sur laquelle je travaille actuellement, je souhaite enregistrer une notification locale de sorte qu'elle se lance toutes les semaines à une certaine heures et certains jours de la semaine sélectionnés par l'utilisateurs.
Les jours sélectionnés sont représentés par un NSArray de longueur 7 (indice 0->Lundi, 1->Mardi...)
Si un jours est sélectionné, la valeur à l'indice du jour dans le tableau est 1, sinon 0.
Pour l'heure, c'est la même chaque jours enregistrés.
Mon problème est que je ne sais pas comment enregistrer une notification pour seulement les jours enregistrés dans mon tableau avec récurrence hebdomadaire...
Quelqu'un aurait une piste pour me mettre sur la voie svp ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu veux toi même t'envoyer une notification depuis ton programme ?
Que l'utilisateur en reçoive une via le calendrier (si tant est qu'il soit aussi accessible sur iPhone que Mac OS X) ?
Que le système t'en envoie une grâce à un fichier cron (là aussi si tant est qu'on puisse faire avec un iPhone) ?
Autre chose ?
Où est ta difficulté ?
Sinon un tas de choses peuvent être programmées dans Cocoa tu as les NSTimer qui ne demandent que ça par exemple.
Pour créer ton tableau tu as les NSDateComponents qui permettent de faire des tas de choses sur une date et, en particulier, d'ajouter un nombre de jours et/ou mois et/ou secondes et/ou semaines à une date, rien ne serait plus facile que de boucler là dessus
Une notification locale, la même chose que les notifications push, mais sans intervention des serveurs d'Apple.
Sur iPhone dans une application même pas lancée ou bloquée en tâche de fond, je pense pas
Sinon, pour répondre à la question, à partir de la date du jour, il ne doit pas être bien compliqué, pour chaque jour "activé" dans le tableau, de trouver la prochaine date à laquelle une notification doit être déclenchée. Et pour la récurrence, tout est dans la documentation de référence de UILocalNotification (propriété repeatInterval, il sufifit de configurer une période d'une semain, soit la constante NSWeekCalendarUnit à priori).
Ca dépend de l'usage que tu fais de ces alarmes mais bon, ça vaut le coup de creuser.
Le problème est que je ne sais pas comment savoir si le jour actuel ou même un autre jour est un Lundi ou un Mardi ou ...
J'ai bien lu les documentations de NSCalendar, NSDateComponents et NSDate mais je ne trouve pas comment faire.
Quelqu'un sait comment faire ?
Extrait du "Date and Time Programming Guide":