从 iOS 10 中的自定义日期开始取消并重新安排 UserNotification(旧 UILocalNotification)

Sla*_*cho 6 iphone ios usernotifications

我正在安排UserNorification每天在特定时间触发,通知用户做某事。但是如果用户在通知被触发前 X 小时这样做,我需要取消今天的通知,在我看来取消所有,然后再次重新安排但从明天的特定时间开始。例如,如果今天通知应该在 11:00 触发,而用户在 10:00“做那件事”,则不应触发 11:00 通知,我需要在同一时间再次安排但从明天开始. 循环不断,明天也一样。我的问题是:

  1. 我应该使用以下代码取消安排第一个每日通知:UNUserNotificationCenter.current().removeAllPendingNotificationRequests()?

  2. 如何安排从特定日期开始的每日通知?

Sla*_*cho 0

经过研究,新框架不可能做到这一点UserNotifications。我们必须使用旧UILocalNotification方法来实现这一目标。因为该代码在 iOS10 中已被弃用,所以我已将支持的版本更改为 9+,因此不会有警告。这是一种永久性的方法,但我们希望苹果能够在新框架中实现并扩展旧功能。