2016-12-06 1 views
2

J'utilise le code ci-dessous pour créer une notification, mais d'une manière ou d'une autre, il ne se déclenche pas. Je veux juste que ça se déclenche quand j'ouvre un certain contrôleur de vue, mais rien ne se déclenche jusqu'ici. Quel est le problème avec mon code?Essayer de déclencher UILocalNotification ne fonctionne pas

func notify() { 
    let notification = UILocalNotification() 
    notification.fireDate = Date() 
    notification.repeatInterval = .minute 
    notification.alertBody = "The alert body" 
    notification.alertAction = "enter text here" 
    UIApplication.shared.scheduleLocalNotification(notification) 
} 

J'ai aussi cette ligne dans le délégué de l'application:

application.registerUserNotificationSettings(UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)) 

Répondre

1

Une raison pour laquelle je crois que ce serait un échec parce que notification.fireDate = Date() mettra le fireDate à l'heure actuelle, qui sera dans le passé par le moment où le processus (séparé) gérant UserNotifications est averti que vous souhaitez déclencher une notification. Pensez à passer à UNNotification s

+0

C'était tout! Quand j'ai changé la date à un peu plus tard, cela a fonctionné à nouveau et m'a donné des notifications. – Misha

0

J'ai changé la date de lancement à une certaine heure dans le futur (il était 18h00 où je l'ai changé en 06:03 en utilisant calendarComponents, et cela a ensuite semblé fonctionner.