我有一个应用程序,当它从服务器收到推送通知时立即执行代码块。我已在应用程序中启用了后台模式,并且它在应用程序最小化模式的后台中按预期工作。但在终止状态的应用程序接收推送和调用
didReceiveRemoteNotification userInfo:fetchCompletionHandler completionHandler:
这是第一次。之后,如果它接收到另一个推送,它将不会调用该方法。 我一直在努力 xcode:9.1 ios:11.2 swift:4
推送有效载荷
{
registration_ids: to,
data: {
title : 'xxxxx',
notify_id : xxxxxx,
created_on : createdTime,
body: body
},
notification: {
title: 'xxxxxx',
body: body,
sound: 'xxxx.caf'
},
priority: 'High',
content_available: true
}
请帮忙。
答案 0 :(得分:0)
因为didReceiveRemoteNotification
仅适用于iOS 9及以下版本。
在Firebase远程推送(iOS 10及更高版本)中使用以下代理2。
<强> 1。接收背景推送
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {}
<强> 2。接收前景推送
func userNotificationCenter(
_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {}