日历应用程序的本地通知限制

Local Notifications limit for Calendar app

我正在构建一个日历应用程序,您可以在其中安排活动,并通过 UserNotification 收到通知。

问题是我最近读到你只能有 64 个预定事件。但是如果用户有超过 64 个事件怎么办?我知道重复的通知算作一次。 此限制是否适用于所有通知类型(计时器、日历、位置)?

你会如何解决这个问题?由于我不使用服务器,因此我无法发出 push/remote 通知。

期待您的回答!

提前致谢!

在第64个活动之后,您可以尝试保存之后的活动,并在当前安排的活动数量少于64个时安排它们。您应该考虑活动的安排时间,以免错过较早开始的活动日期。

编辑

由于您的应用允许用户安排未来的事件,因此使用 CoreData 来保存数据是有意义的。对于他们创建的每个事件,您可以创建一个具有以下属性的实体:

  • 活动名称
  • 活动开始日期
  • isScheduled 布尔值

这应该相当简单。之后,无论何时应用程序启动,您都可以获取事件并安排最接近开始日期的事件。这样,您就不必将活动安排得太早。

如果你想查看预定事件的数量,你可以这样做

UIApplicaiton.shared.scheduledLocalNotifications?.count

此方法有效,但已弃用,因此您可能需要使用

UNUserNotificationCenter.getPendingNotificationRequests