0
votes

Comment appeler la fonction à 8h30 du matin tous les jours

im essayant de faire une application de quiz et je souhaite qu'il affiche une nouvelle question chaque jour à 8h30 et disparaître à 18h. J'ai vu en ligne que la voie principale est d'utiliser la minuterie mais ma question est que la personne change de fuseaux horaires, la minuterie ne sera-t-elle pas hors de synchronisation? Ou redémarre-t-il tous les jours? Voici mon code: (Veuillez noter que je suis un débutant)

En outre, chaque fois que je charge mon application, la question apparaît pour une seconde puis disparaît puis apparaît à nouveau après que la minuterie est en hausse. xxx


1 commentaires

Pensez à cela ... Votre application sera-t-elle toujours à 8h30 tous les jours? Dis peut-être «s'il est entre 08h30 et 18h30, vérifiez simplement l'heure locale à votre plage de temps spécifiée.


3 Réponses :


0
votes

Cela obtiendra 8h30 et 18h00 à partir de l'heure locale de l'utilisateur.

var calendar = Calendar.current
calendar.timeZone = NSTimeZone.local
let hours = calendar.component(.hour, from: Date())
let minutes = calendar.component(.minute, from: Date())
let timeFloat:Float = Float(hours) + Float(minutes)/60
if timeFloat > 8.5 && timeFloat < 18 {
    showQuiz
} else {
    hideQuiz
}


5 commentaires

Merci pour votre réponse! Cela ne semble pas fonctionner pour moi. Je pense que cela a quelque chose à voir avec l'animation que j'ai.


J'ai pu le faire fonctionner pour les notifications utilisant des datecomponents. Mais je ne peux tout simplement pas comprendre avec une fonction normale


Qu'en est-il d'une fonction IF? FUNC> Si> autre


Cela ne me permet pas d'appliquer> à deux de type 'int?'


@Mateo désolé vous devez déballer les dates. Vérifiez le code modifié pour le !



0
votes

Vous pouvez utiliser " Notification locale i Mettez le code de l'exemple Apple, veuillez le vérifier et vous pouvez modifier le code exemple selon votre exigence.

Les étapes de la configuration d'une notification locale sont les suivantes: < / p>

  1. Créer et configurer un UnkutablenotificationContent objet avec les détails de la notification.
  2. Créer un UNCALENDARNOTIFICATIONGrigger , elumeIntervalnotificationTrigger ou impeccocalisationNotreRigger objet pour décrire les conditions dans lesquelles la notification est livrée.
  3. Créer un UnnoificationRequest Objet avec le contenu et les informations de déclenchement.
  4. appelez le addnotificationRequest: withComplettionHandler: méthode pour planifier la notification; Voir Planification des notifications locales pour la livraison

    Document officiel

    code d'échantillon xxx


4 commentaires

La "notification locale" fonctionnera sur des fonctions qui ne sont pas des notifications? J'ai déjà configuré les notifications pour partir à 8h30. Puis-je les relier?


Avez-vous configuré «Notification à distance» pour descendre à 8h30?


Je pense que vous devez définir une «notification locale» puis après avoir vérifié votre application de lancement avec «Notification locale» dans cette méthode Application: DidfinishlaunchingwithOptions: Si l'application Lancement avec «Notification locale», vous devez appeler votre API pour obtenir une question à suivre pour l'utilisateur, ou vous pouvez modifier votre flux d'applications selon vos besoins.


J'ai utilisé UncalendarnotificationTrigger et un nonnotificationRequest, je vais essayer avec cette méthode et vous le faire savoir si cela fonctionne



0
votes

C'est ce que j'ai jusqu'à présent. Je ne sais pas si je me rapproche ou plus loin de résoudre ce problème xxx


0 commentaires