willPresentNotification 无法按预期工作

Posted

技术标签:

【中文标题】willPresentNotification 无法按预期工作【英文标题】:willPresentNotification not work as expected 【发布时间】:2017-05-12 10:41:34 【问题描述】:

我使用推送通知并实现了方法:

-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler

    NSLog(@"will-present");

但是,只有在应用处于活动状态而不是后台时才会出现通知时才会调用它。当通知即将显示并且iPhone屏幕被锁定时,有什么方法可以进行回调?

【问题讨论】:

你可以在这里按照我的回答:notification handling in ios 10 【参考方案1】:

您需要在功能中开启远程通知的后台模式

使用此方法在后台处理通知

//handle in this method when app in foreground and background func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)

【讨论】:

【参考方案2】:

看来我需要的行为是不可能的。

点击此链接了解更多信息: Alarm clock app in iOS

【讨论】:

以上是关于willPresentNotification 无法按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 FCM 触发横幅通知?

iOS 10.0 * 在前台处理推送通知

应用程序打开时如何获得推送通知?

当应用程序在后台时处理本地推送通知

在 ios 中处理远程通知接收

获取当前用户屏幕以显示或不显示远程通知警报