【发布时间】:2017-05-15 22:18:34
【问题描述】:
在 iOS 10 中,我看到有两个处理本地推送通知的函数:
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)
和
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)
第一个在应用程序处于前台时发生推送通知时调用。第二种情况发生在应用程序在后台并且用户单击通知时发生推送通知。
我的问题是,有没有办法在应用程序处于后台时处理本地推送通知而无需用户单击它?理想情况下,我希望我的所有推送通知,无论是在应用程序处于后台还是前台时,都可以触发 CloudKit 更新。这甚至可能吗?
谢谢!
【问题讨论】:
-
如果你使用 CloudKit 那么你可以使用
didReceiveRemoteNotification:completionHandlerApp 委托方法 -
好吧,我实际上并没有使用远程通知。我希望我的 local 通知触发一个对数据库执行
add操作的函数。 -
iOS 上没有基于时间安排的后台执行模式。
标签: ios swift push-notification apple-push-notifications