Comment définir la Notification Locale intervalle de répétition à la coutume de l'intervalle de temps?
Je suis prise d'une application iPhone, qui a une exigence de Notifications Locales.
Dans les notifications locales, il est repeatInterval de la propriété où l'on peut mettre l'unité d'intervalles de répétition pour mintute, heure, jour,semaine,année, etc.
Je veux que l'intervalle de répétition doit être de 4 heures.
De sorte que chaque 4 heures la notification locale vient.
Je ne veux pas l'utilisateur de définir séparer les notifications pour chaque.
Je veux que l'utilisateur soit en mesure de définir repeatInterval que 4 heures.
Comment dois-je faire?
Vous devez vous connecter pour publier un commentaire.
Eu la réponse, c'est aussi droit qu'il obtient.
Vous ne pouvez pas créer des intervalles de répétition.
Vous avez à utiliser sur NSCalendarUnit dans la construction des Intervalles de Temps.
J'ai essayé toutes les solutions ci-dessus et même essayé d'autres animaux, mais aucun d'entre eux travaillaient.
J'ai investi suffisamment de temps pour trouver qu'il n'y a aucun moyen que nous pouvons faire fonctionner personnalisé intervalles de temps.
L'intervalle de répétition est juste un enum qui a un peu-carte constant, il n'existe aucun moyen pour des
repeatIntervals
, juste à chaque minute, chaque seconde, chaque semaine, etc.Cela étant dit, il n'y a pas de raison que votre utilisateur doit avoir pour mettre chacun. Si vous leur permettez de définir deux valeurs dans votre interface utilisateur, quelque chose comme "
Frequency unit: Yearly/Monthly/Weekly/Hourly
" et "Every ____ years/months/weeks/hours
", puis vous pouvez générer automatiquement les notifications appropriées par le réglage de l'incendie date, sans répétition.J'ai une idée de comment faire cela, j'ai mis en place dans mon projet
Tout d'abord, créer de notification locale avec le feu de la date (par exemple, toutes les minutes).
Prochaine étape: remplir les infos de l'utilisateur avec l'id unique pour cette notification (si vous souhaitez supprimer à l'avenir) et personnalisé de votre période comme ceci:
Après cela, mettre en œuvre
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
dans votre AppDelegate:Il suffit de l'ajouter dans le sheluded notificatiots de nouveau!
si vous souhaitez supprimer cette notification, faire
Très important!
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
n'a pas appelé, si vous en arrière-plan. Donc, vous devez d'installation de longue durée d'exécution en tâche de fond, où vous pourrez vous créer une notification de nouveau.j'ai utilisé ce code et il fonctionne très bien pour répéter LocalNotification j'ai utilisé LavaSlider Code pour que ce code mise en œuvre
Vous pouvez définir un intervalle de temps que vous voulez, si vous avez mis en place des notifications à chaque fois que vous souhaitez recevoir une notification à feu. Ensuite, vous aurez à gérer, et si vous n'êtes pas une application qui est actuellement autorisé à s'exécuter en arrière-plan, vous aurez à les actualiser en avoir à l'utilisateur d'exécuter votre application pour le faire. Après avoir réalisé cela, je peux vous dire que c'est l'un des principaux PITA.
notif.repeatInterval = NSDayCalendarUnit;