Ich versuche zu lernen, wie man lokale Benachrichtigungen verwendet und derzeit versuche ich nur, eine Benachrichtigung nach einer bestimmten Zeit erscheinen zu lassen (um nur 5 Sekunden zu lernen).Swift: Lokale Benachrichtigungen werden nicht angezeigt, obwohl Anfrage/geplant zu funktionieren scheint - keine Fehler
ich registrieren, um die Benachrichtigung in dieser Funktion, die am Ende eines Onboarding-Bildschirm verwendet wird:
func registerNotification() {
let center = UNUserNotificationCenter.current()
center.requestAuthorization(options: [.alert, .badge, .sound]) { (granted, error) in
if granted {
print("Granted.")
} else {
print("Not granted.")
}
}
}
nun die Benachrichtigung testen ich die Funktion Satz nur add() auf eine Taste:
set() {
let center = UNUserNotificationCenter.current()
let content = UNMutableNotificationContent()
content.title = "Test Notification"
content.body = "It works!"
content.categoryIdentifier = "alarm"
content.userInfo = ["customData": "fizzbuzz"]
content.sound = UNNotificationSound.default()
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)
let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: trigger)
center.add(request)
}
Aber wenn die Taste gedrückt wird und 5 Sekunden vergangen sind, wird keine Benachrichtigung angezeigt, aber auch kein Fehler in Xcode, also sollte das alles funktionieren?
Was fehlt mir hier? Soweit ich das aus verschiedenen Quellen im Netz verstehe, ist dies der einfachste Weg, eine lokale Benachrichtigung anzuzeigen.
Try debug es so: 'center.add (request) {(Fehler: Error) in lassen, wenn Fehler = Fehler { print (Fehler) } } ' – mcgtrt
haben Sie im Hintergrundmodus versucht? – ivarun
Prost für die Kommentare. Aus irgendeinem seltsamen Grund, nachdem ich meinen Mac und Xcode neu gestartet habe, funktionierte es. – RjC