安排每小时重复一次本地通知时出现问题

时间:2019-09-15 18:59:39

标签: ios swift localnotification

我正在尝试每小时安排一次本地通知。问题是我在这样的不规则时间内获取通知。大约在10分钟,第二秒或30分钟内。有时我突然在同一秒钟收到10条通知。我不知道我在这里犯了什么错误。我事先表示歉意,我才刚开始学习敏捷。

这是我的代码。

@objc func LocalNotificationHour() {

    let user = UNUserNotificationCenter.current()
    user.requestAuthorization(options: [.alert,.sound]) { (granted, error) in}

    let content = UNMutableNotificationContent()
    content.title = "Local Notification"
    content.body = "Test."

    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: (60*60), repeats: true)

    let uuid = UUID().uuidString
    let request = UNNotificationRequest(identifier: uuid, content: content, trigger: trigger)

    user.add(request) { (error) in print("Error")}
}

1 个答案:

答案 0 :(得分:0)

您的函数是否有可能被多次运行,因此安排了多个通知重复执行?如果您不希望收到这些通知,那么可以一次/一次接收多个通知。

在这种情况下,请尝试在user.removeAllPendingNotificationRequests()下添加行let user = UNUserNotificationCenter.current()。这将删除您的应用在安排新通知之前可能已安排的所有待处理通知。