【发布时间】:2018-12-19 11:56:42
【问题描述】:
我必须在本地存储来自我的 iOS 应用程序的所有通知的标题和正文,并将它们显示在通知屏幕中。我可以使用这些存储所有点击的通知-
当应用程序处于非运行状态或点击推送通知时被终止-
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {...}
当应用程序在前台或后台运行并点击推送通知时调用此方法-
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {...}
我的问题是如何在不点击通知的情况下存储通知。 即使通知被用户拒绝/清除,我也想存储通知。
我知道当应用程序处于活动状态并在前台并推送通知时调用此方法-
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {..}
当应用程序处于后台或未运行状态时,如何处理推送通知数据而不点击它?
【问题讨论】:
-
AFAIK 无法在您的应用程序未处于运行状态时处理通知 - 至少在您不使用 VOIP 的情况下是这样。我有一个非常相似的问题,在这里写了一个问题(没有成功)stackoverflow.com/questions/51055491/…
-
@Teetz 有没有办法在用户下次打开应用时处理通知数据?
-
我不是 100% 确定,但我不这么认为。这样做的 AFAIK 应用程序将其推送通知存储在其后端服务器上,并在应用程序启动时要求后端获取所有远程通知数据。