关于如何继续 UNUserNotificationCenter 64 限制的问题

Posted

技术标签:

【中文标题】关于如何继续 UNUserNotificationCenter 64 限制的问题【英文标题】:Question on how to proceed with UNUserNotificationCenter 64 limit 【发布时间】:2018-12-10 07:16:43 【问题描述】:

我正在尝试制作一个提醒应用程序,我的所有通知重复设置为 true

Example :

var dateComponents = DateComponents()
                dateComponents.weekday = 1
                dateComponents.hour = Int(hour)
                dateComponents.minute = Int(minute)

let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)
                    let requestIdentifier = "\(timeArrayToSaveInMobile[indexTime].alarmId!)Sunday"
                    let request = UNNotificationRequest(identifier: requestIdentifier, content: content, trigger: trigger)

我在这里浏览过,有人提到系统会保留最快触发的 64 条通知。 因此,如果我已经达到了限制,但我设置了另一个通知,该通知将比(64 列表)中的某些通知更早触发,它应该替换其中一个通知,对吗?由于它会更早地触发列表中的一些预先设置的通知。

我的问题和这个ios 10 swift 3 add more than 64 local notifications does not keep soonest类似

【问题讨论】:

【参考方案1】:

当您打开应用程序时,通知将重置,因此您可以在每次关闭应用程序后设置/发送另一个 64。

系统会丢弃超过此限制的预定通知,仅保留最快触发的 64 个通知。定期通知被视为单个通知。

在您的示例中,您为星期日设置了一个通知,每个星期日只计算一个。

【讨论】:

因此,例如:如果我有 64 条通知,我已设置为在周日重复。然后在星期二我设置了一个新的通知,它将在星期四触发它应该替换 64 个通知中的一个,对吗?因为它会尽快触发,但是当我尝试使用 getPendingNotificationRequests 时,它仍然显示设置为在周日触发的 64 通知 是的,完美,您可以设置周二的新通知,它会按照您的设置触发,不会影响到周日的重复通知。 我的意思是,如果我已经在周日设置了 64 个重复通知。我试图设置将在星期二(今天是星期一)触发的新通知它不起作用。我尝试使用 getPendingNotificationRequests 检查我的通知,但它不在里面,但周日设置的所有 64 条重复通知仍然在里面。 我的问题和这个类似(***.com/questions/44312909/…)

以上是关于关于如何继续 UNUserNotificationCenter 64 限制的问题的主要内容,如果未能解决你的问题,请参考以下文章

UNUserNotification 是不是可以选择仅在 Apple Watch 上显示通知?

Swift - UNUsernotification 检查 BadgeNumberIcon 中的更改

当重复设置为“是”时,UNUserNotification 不会从待处理通知中删除 - Swift

关于如何继续 UNUserNotificationCenter 64 限制的问题

如何在通知操作中显示特定的视图控制器?

您好,你之前提的关于QThread暂停和继续运行的问题,请问最后是如何解决的?