2

我试图为这个问题找到一个确切的答案:“设备重启后我的预定通知会发生什么?”。

我已经使用UNUserNotificationCenter来安排所有通知,它们将根据安排的时间在每天重复触发。

这是我编写的代码片段,它在设备开启时工作。

func scheduleNotification() {
    let center = UNUserNotificationCenter.current()
    let content = UNMutableNotificationContent()
    content.title = "This is the title"
    content.body = "The is the body"
    content.categoryIdentifier = "identifier"
    content.userInfo = ["info":"B"]
    content.sound = UNNotificationSound.default
    
    var dateComponents = DateComponents()
    dateComponents.hour = 0
    dateComponents.minute = 29
    
    let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)
    let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: trigger)
    center.removeAllPendingNotificationRequests()
    center.add(request)
}
4

1 回答 1

1

简而言之,它应该保留,虽然我找不到官方的苹果文档,但它对我有用。计时器应该在重新启动后仍然存在。只要在相关时间到来时设备处于开机状态并且应用程序仍在安装中,就会触发通知。当然,发送通知的权限是必需的。

之前有人问过这个问题,但没有答案 -设备重启后的 UNUserNotificationCenter 通知

于 2021-04-02T20:05:46.210 回答