Comment puis-je implémenter la fonctionnalité «snooze» d'Apple dans leur application d'horloge?

StackOverflow https://stackoverflow.com/questions/3441257

Question

Je plonge dans le développement iOS et je construis ma propre application de réveil pour se familiariser avec la plate-forme et le SDK. L'une des API que j'apprends actuellement est l'API de notifications locales, ce que je suppose est la même API qu'Apple utilise pour implémenter leurs alarmes dans leur application d'horloge.

Ce que je ne comprends pas, c'est comment ils mettent en œuvre leur fonctionnalité de "snooze". Si je comprends bien, les notifications locales vous permettent de présenter à l'utilisateur une boîte d'alerte qui a au plus deux boutons lorsque votre application n'est pas en cours d'exécution au premier plan, un bouton pour rejeter l'alerte et un bouton pour amener l'utilisateur à votre application . Dans l'application d'horloge d'Apple, cependant, il semble que l'utilisateur est présenté avec une boîte à alerte avec deux boutons, un bouton pour rejeter l'alarme et un bouton pour "répéter" et reprogrammer l'alarme sans lancer l'application d'horloge. Mes questions sont ...

  1. Lorsque l'utilisateur clique sur le bouton "Snooze", comment pensez-vous qu'Apple reprograisse la notification locale pour l'alarme sans lancer l'application horloge? Pensez-vous qu'ils utilisent leurs propres API privés qui contournent les limites des notifications locales qui ne permettent que deux options? Ou pensez-vous qu'ils lancent l'application d'horloge pour reprogrammer la notification locale, ils ne montrent tout simplement pas l'application en lancement et en quittant?

  2. La documentation indique que la propriété "d'alerte" de la notification locale est le texte à afficher sur le bouton droit de la boîte d'alerte et la barre de curseur de l'écran de verrouillage. Dans l'application d'horloge d'Apple, cependant, le texte "snooze" est le bouton gauche dans la boîte d'alerte, ni le texte de la barre de curseur. Pourquoi est-ce en arrière?

Merci beaucoup d'avance pour vos pensées!

Était-ce utile?

La solution

L'API de notification locale n'a aucun mécanisme pour faire ce que vous voulez. L'application de réveil n'utilise presque certainement aucune des infrastructures pour les notifications locales, elle les est antérieures. Même s'il est pris en compte sur certaines des infrastructures fournies par les notifications locales, il n'utilise certainement pas les API publiques.

Tu devrais dossier un bogue demandant que cette fonctionnalité soit ajoutée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top