早上好先生
我知道以这种方式使用UNCalendarNotificationTrigger:
var dateComponents = DateComponents()
dateComponents.hour = 10
dateComponents.minute = 30
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)
每天10:30都会发出通知。
我的问题是,在该时间之后,用户是否打开应用程序或进行呼叫,是否仍然可以发送通知。
最佳答案
本地通知一经创建和安排,便与您的应用程序无关。它们被放置在系统的手中,从那时起,它们就会得到照顾。这就是用户通知中心的用途。
该通知将始终触发。它是否将“交付”取决于“交付”的含义。
用户可以关闭通知,在这种情况下,将在触发通知时不显示可见的通知警报。但是,如果用户选择允许在通知中心显示通知警报和通知,则该通知将可见。如果您的应用未运行,则会发生这种情况。
如果在触发通知时您的应用程序正在运行,则取决于您自己将其设置为notification center delegate以便了解它。如果您不这样做,那么默认情况下,该警报将对用户不可见。
如您在问题中所问的,如果“用户在那之后打开应用程序……”,则通知的传递已经发生。如果用户已允许通知警报,则该用户已经看到了警报。您可以咨询通知中心以了解最近的通知。但是,由于您知道通知是在10:30触发的,因此如果您的应用程序是10:40启动的,那么它要做的就是查看当前时间以了解发生了什么。
关于ios - UNCalendarNotificationTrigger-小时后执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42036136/