2017-08-24 6 views
5

En fait, je développe une application qui déclenche des notifications locales sur les heures de lever et de coucher du soleil (qui diffère quotidiennement, donc ne peut pas utiliser d'alarme). De plus, j'ai besoin de cette fonctionnalité hors ligne.Implémenter une logique pour plusieurs notifications locales quotidiennes à différents moments dans iOS

Je l'ai déjà essayé:

  • enregistrer ensemble les notifications ans à la fois, mais il ne fonctionne pas à cause de notifications restrictions limites
  • enregistrer la notification suivante l'événement déclencheur de la notification actuelle, mais cette logique échoue lorsqu'un la notification ne se déclenche pas lorsque l'appareil est éteint.

Toute aide serait appréciée. :)

Répondre

0

Veuillez vous référer à cette stackoverflow post à propos d'une API que vous pouvez utiliser pour recevoir des rappels à des heures relatives au lever/coucher du soleil. Cette réponse explique également comment utiliser l'API.

Cette question diffère légèrement de celle-ci, donc je ne marque pas de doublon. La chose à ajouter qui est spécifique à cette question est que vous n'aurez pas besoin de pré-calculer le sunrise/set pendant de longues périodes et enregistrer un tas d'alarmes. En plus d'être inélégant, la solution de précalcul ne fonctionnera pas sur mobile car sunrise/set dépend de l'emplacement de l'appareil, et vous ne pouvez pas savoir où se trouve l'appareil pendant de longues périodes à l'avenir. Avec le Awareness API suggéré, en particulier TimeFence.aroundTimeInstant(), vous obtiendrez automatiquement un rappel à un certain décalage spécifié de sunrise/set et vous pouvez vous désinscrire de l'API à tout moment pour cesser de les recevoir.

+1

Merci pour votre réponse, J'ai déjà trouvé la solution pour Android en utilisant les services d'arrière-plan. Cette API fonctionne bien, mais elle n'est pas disponible dans iOS. Toute autre solution pour iOS? – ishaqbhojani

+0

Le démarrage d'un service d'arrière-plan pour votre application ne fonctionnera plus avec votre application en raison des [restrictions d'arrière-plan] (https://developer.android.com/about/versions/oreo/background.html) de [Android Oreo] (https : //developer.android.com/about/versions/oreo/android-8.0.html) à partir de. Peut-être que l'utilisation de cette API ou d'une autre vous fera gagner du temps pour migrer plus tard. – MRC

+1

Ok, je vais utiliser cette API pour Android, mais ce n'est pas disponible pour iOS. Que dois-je faire pour iOS? – ishaqbhojani