Ich versuche eine lokale Benachrichtigung zum geplanten Zeitpunkt zu senden. Die Benachrichtigungen werden jedoch nicht auf dem Bildschirm angezeigt. Sie werden jedoch in der Benachrichtigungszentrale angezeigt, wenn ich nach unten wische.
Dies ist, was ich versuche zu erreichen Dies ist, was ich bekomme.
iOS Swift Lokale Benachrichtigung nicht "aufspringen"
Dieser Code ist von meiner AppDelegate des didFinishLaunchingWithOptions().
// Setup local push notifications
application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: [UIUserNotificationType.Alert, UIUserNotificationType.Badge, UIUserNotificationType.Sound], categories: nil))
scheduleNotifications()
Und das ist der Code für scheduleNotifications()
func scheduleNotifications() {
// create a corresponding local notification
let notification = UILocalNotification()
// Get today's date, time and year
let calendar = NSCalendar.currentCalendar()
let components = calendar.components([NSCalendarUnit.Day, NSCalendarUnit.Month, NSCalendarUnit.Year], fromDate: NSDate())
// Sets the fire time to 2pm/1400 hours to anticipate user for lunch time
components.hour = 19
components.minute = 13
components.second = 00
notification.fireDate = components.date // Sets the fire date
notification.alertBody = "Enjoyed your lunch? Don't forget to track your expenses!"
notification.alertAction = "Add expense"
notification.repeatInterval = NSCalendarUnit.Day // Repeats the notifications daily
UIApplication.sharedApplication().scheduleLocalNotification(notification)
}
Jede Hilfe würde geschätzt. Vielen Dank!
In iOS-Einstellungen> Ihre App sind die Berechtigungen Einstellungen richtig? Überprüfen Sie insbesondere die Einstellung für "Auf Sperrbildschirm anzeigen". Können Sie auch die Payload posten, die Sie mit der Push-Benachrichtigung senden? – JoGoFo
Ja, es wird auf dem Sperrbildschirm angezeigt. Und was meinst du mit Nutzlast? Das ist der Code, den ich für die Benachrichtigungen geschrieben habe. –
Entschuldigung, dachte eher an eine Push-Benachrichtigung als an eine lokale Benachrichtigung, die eine Payload hat. Planen Sie weit genug in die Zukunft, damit die Benachrichtigung empfangen wird, nachdem Sie das Gerät gesperrt haben? – JoGoFo