日历应用程序的本地通知限制
Local Notifications limit for Calendar app
我正在构建一个日历应用程序,您可以在其中安排活动,并通过 UserNotification 收到通知。
问题是我最近读到你只能有 64 个预定事件。但是如果用户有超过 64 个事件怎么办?我知道重复的通知算作一次。
此限制是否适用于所有通知类型(计时器、日历、位置)?
你会如何解决这个问题?由于我不使用服务器,因此我无法发出 push/remote 通知。
期待您的回答!
提前致谢!
在第64个活动之后,您可以尝试保存之后的活动,并在当前安排的活动数量少于64个时安排它们。您应该考虑活动的安排时间,以免错过较早开始的活动日期。
编辑
由于您的应用允许用户安排未来的事件,因此使用 CoreData 来保存数据是有意义的。对于他们创建的每个事件,您可以创建一个具有以下属性的实体:
- 活动名称
- 活动开始日期
- isScheduled 布尔值
这应该相当简单。之后,无论何时应用程序启动,您都可以获取事件并安排最接近开始日期的事件。这样,您就不必将活动安排得太早。
如果你想查看预定事件的数量,你可以这样做
UIApplicaiton.shared.scheduledLocalNotifications?.count
此方法有效,但已弃用,因此您可能需要使用
UNUserNotificationCenter.getPendingNotificationRequests
我正在构建一个日历应用程序,您可以在其中安排活动,并通过 UserNotification 收到通知。
问题是我最近读到你只能有 64 个预定事件。但是如果用户有超过 64 个事件怎么办?我知道重复的通知算作一次。 此限制是否适用于所有通知类型(计时器、日历、位置)?
你会如何解决这个问题?由于我不使用服务器,因此我无法发出 push/remote 通知。
期待您的回答!
提前致谢!
在第64个活动之后,您可以尝试保存之后的活动,并在当前安排的活动数量少于64个时安排它们。您应该考虑活动的安排时间,以免错过较早开始的活动日期。
编辑
由于您的应用允许用户安排未来的事件,因此使用 CoreData 来保存数据是有意义的。对于他们创建的每个事件,您可以创建一个具有以下属性的实体:
- 活动名称
- 活动开始日期
- isScheduled 布尔值
这应该相当简单。之后,无论何时应用程序启动,您都可以获取事件并安排最接近开始日期的事件。这样,您就不必将活动安排得太早。
如果你想查看预定事件的数量,你可以这样做
UIApplicaiton.shared.scheduledLocalNotifications?.count
此方法有效,但已弃用,因此您可能需要使用
UNUserNotificationCenter.getPendingNotificationRequests