UNCalendarNotificationTrigger - 在一小时后执行

时间:2017-02-04 03:25:36

标签: ios swift uilocalnotification unusernotificationcenter

早安先生

我知道以这种方式使用UNCalendarNotificationTrigger:

var dateComponents = DateComponents()
dateComponents.hour = 10
dateComponents.minute = 30
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)

每天10:30都会发出通知。

我的问题是,如果通知仍会传递,用户是否会在此之后打开应用程序或电话。

1 个答案:

答案 0 :(得分:0)

本地通知一旦创建并安排,就与您的应用无关。它们放在系统的手中,从那时开始处理它们。这就是用户通知中心的用途。

通知将始终触发。是否“交付”取决于“交付”的含义。

用户可以关闭通知,在这种情况下,通知触发时将不会显示通知警报。但是,如果用户已选择在通知中心中允许通知警报和通知,则通知将可见。如果您的应用未运行,则会发生这种情况。

如果您的应用 在通知触发时正在运行,那么您可以将自己设置为notification center delegate以便了解它。如果您不这样做,那么默认情况下,警报将对用户不可见。

如果“用户在那段时间之后打开了应用程序”,正如您在问题中提出的那样,那么通知的传递已经已经了。如果用户已允许通知警报,则用户看到警报。您可以咨询通知中心以了解最近的通知。但是,既然您知道通知在10:30开始,如果您的应用程序启动时间是10:40,那么它所要做的就是查看当前时间以了解发生了什么。