comment faire pour annuler une localNotification avec la presse d'un bouton dans swift?
Je suis la planification d'un emplacement en fonction UILocalNotification
avec le clic d'un bouton . Mais quand j'essaie d'annuler la localNotification en cliquant sur le même bouton de nouveau, il n'a pas d'annuler la notification.
Je suis à l'aide de UIApplication.sharedApplication().cancelLocalNotification(localNotification)
pour annuler mon prévue fonction de la localisation de notification locale.
Ce que je fais mal ?
voici ma mise en œuvre
@IBAction func setNotification(sender: UIButton!) {
if sender.tag == 999 {
sender.setImage(UIImage(named: "NotificationFilled")!, forState: .Normal)
sender.tag = 0
regionMonitor() //function where notification get scheduled
} else {
sender.setImage(UIImage(named: "Notification")!, forState: .Normal)
sender.tag = 999 }
que dois-je entrer dans le bloc else ainsi que la date prévue de notification sera annulé. Ne peut pas effacer toutes les notifications.
voici la didEnterRegion
bloc de code où je déclencher la notification locale
func locationManager(manager: CLLocationManager!, didEnterRegion region: CLRegion!) {
localNotification.regionTriggersOnce = true
localNotification.alertBody = "Stack Overflow is great"
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
NSLog("Entering region")
}
OriginalL'auteur sumesh | 2015-08-11
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer de supprimer toutes les notifications si cela est acceptable dans votre contexte.
Comme ceci:
Ou comme indiqué par Logan:
Ou comme indiqué par Gérard de Grundy pour Swift 4:
UIApplication.sharedApplication().cancelAllLocalNotifications()
Ou cela! xD Belle contribution. Merci!
Swift 4--> UNUserNotificationCenter.current().removeAllPendingNotificationRequests()
Merci @GerardGrundy ajouté à la réponse! 🙂
Swift4.1 mise à jour de Logans et → UIApplication.partagé.cancelAllLocalNotifications()
OriginalL'auteur Renan Kosicki
Solution pour iOS 10+ Swift 3.1
OriginalL'auteur Md. Ibrahim Hassan
Vous pouvez enregistrer une valeur unique de la clé dans votre local notification userinfo et annuler la localnotification l'aide de cette clé la Valeur.
Essayez ceci (Objectif C):
OriginalL'auteur Chengappa C D
Pour Swift 3.0 et iOS 10:
OriginalL'auteur Phạm Tuấn Anh
Difficile à dire sans voir la mise en œuvre du code.
si vous avez un
C'est ça? Si donc ajouter un booléen, donc
OriginalL'auteur mKane