Alarme iPhone utilisant des notifications locales répétées

J'essaie d'append une fonctionnalité de réveil en arrière-plan à une application que je développe.

J'ai lu sur l'object UILocalNotification et son utilisation, et je suis conscient qu'il est limité à 30 secondes d'audio.

Je pensais programmer plusieurs notifications (disons, 5 d'entre elles) espacées de 30 secondes pour imiter le jeu continu, mais le problème avec cette approche est que si l'user clique sur Close , je ne pourrai annuler aucune des notifications suivantes .

Pour autant que je sache, il est impossible de supprimer ou de masquer le button Close sans masquer entièrement la notification (c'est-à-dire, définir la propriété alertBody sur Nil ).

Donc, j'ai pensé que je pourrais utiliser la propriété repeatInterval pour que la notification apparaisse toutes les 30 secondes, mais il semble que je puisse seulement définir l'intervalle à une minute ou une seconde, et rien entre les deux.

La fonction est destinée à permettre à l'user de choisir entre la musique et les bips pour l'audio d'alarme; il semble que j'ai peut-être trouvé un moyen de faire les bips – en réglant le repeatInterval à une seconde, créer une seconde de beeps (qui devrait être chronométré pour répéter proprement) et l'utiliser comme son de notification.

Cependant, pour la musique, cette approche me limite à jouer 30 secondes d'audio, suivi d'un intervalle de 30 secondes, suivi de 30 secondes d'audio, et ainsi de suite.

Je sais qu'il n'y a pas de solution directe ici, d'après ma lecture des autres posts et ressources; aucune application tierce n'a access aux mêmes fonctionnalités que le réveil embedded. J'espère que quelqu'un a trouvé une solution de contournement ou pense à quelque chose de vraiment intelligent.

MISE À JOUR: J'ai trouvé que repeatInterval ne repeatInterval pas dans ce cas, car je ne peux pas annuler les répétitions sans lancer l'application.

Pour le moment, j'ai décidé de ne pas utiliser une notification comme une alarme en soi, mais j'ai modifié la fonctionnalité pour qu'elle soit un callback (plus dans le sens de ce à quoi la notification est destinée).

Si je parviens à mettre en place une fonctionnalité d'alarme fiable et conviviale pour une application, je mettrai à jour ce post.

Je crains que vous ne puissiez pas accomplir cela .. raison étant comme vous l'avez indiqué le button «Fermer». Vous ne recevrez aucun callback dans l'application si vous appuyez sur le button Fermer. De plus, même si vous présentez des notifications toutes les 30 secondes, il y aura plusieurs notifications sur l'écran que l'user doit voir ou fermer. Donc, l'expérience user sera minable. Je reorderais de préciser aux users qu'ils ne peuvent pas régler l'alarme avec un son personnalisé de plus de 30 secondes.