Ich versuche, einen Timer zu erstellen, der eine lokale Benachrichtigung auslöst, um zu einem Zeitpunkt zu gehen, in dem der Benutzer festgelegt hat. Das Problem, das ich habe, ist, dass ich keinen Weg finden kann, die lokale Benachrichtigung festzulegen, um um 19:00 Uhr abzureisen. Fast alle Methoden, die bei der Untersuchung dieses Problems festgestellt wurden, umfasste die lokale Benachrichtigung, die zu einem bestimmten Zeitraum ab dem aktuellen Datum abgab. Ich versuche dem Benutzer zu erlauben, 19:00 Uhr auszuwählen und dann die Benachrichtigung zu diesem Zeitpunkt auszugehen. Logischerweise ist es sinnvoll, dass dies durch den letzten Zeitpunkt erreicht werden kann (ausgewählter Wert durch den Benutzer) - aktuelle Zeit, die Ihnen den Zeitunterschied ergibt. Ich bin mir jedoch nicht ganz sicher, wie das geht. Im Folgenden finden Sie den Code, den ich derzeit verwende, um eine lokale Benachrichtigung auszulösen. < /P>
Code: Select all
let center = UNUserNotificationCenter.current()
content.title = storedMessage
content.body = "Drag down to reset or disable alarm"
content.categoryIdentifier = "alarm"
content.userInfo = ["customData": "fizzbuzz"]
content.sound = UNNotificationSound.init(named: "1.mp3")
content.badge = 1
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: timeAmount, repeats: false)
let request = UNNotificationRequest(identifier: "requestAlarm", content: content, trigger: trigger)
center.add(request)
center.delegate = self