是否可以隐藏特定推送通知消息的推送通知。我们有推送通知,用于位置更新。它将不断地从这些数据中获取数据,我们必须在地图中进行更新。我们必须隐藏特定推送消息的推送通知(这里是指位置更新推送消息)。
答案 0 :(得分:0)
您必须对此类消息使用静默通知。
配置静默通知
要支持静默远程通知,请将远程通知值添加到Info.plist文件中的UIBackgroundModes数组。要了解有关此数组的更多信息,请参见UIBackgroundModes。
<key>UIBackgroundModes</key>
<array>
<string>remote-notification</string>
</array>
发送静默通知
aps词典也可以包含
content-available
属性。值为1的content-available
属性使远程通知充当静默通知。当收到静默通知时,iOS会在后台唤醒您的应用程序,以便您可以从服务器获取新数据或进行后台信息处理。不会通知用户有关无提示通知产生的新信息或已更改信息,但是他们可以在下次打开您的应用程序时了解有关信息。对于静默通知,请确保aps词典中没有警报,声音或徽标有效载荷。如果您不遵循此指南,则配置错误的通知可能会受到限制,并且不会在后台传递给应用,并且会向用户显示而不是保持沉默。
答案 1 :(得分:0)
传递空的 completionHandler([])
以隐藏远程通知:
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent
notification: UNNotification,
withCompletionHandler completionHandler:
@escaping (UNNotificationPresentationOptions) ->
Void)
{
let userInfo:[AnyHashable:Any] = notification.request.content.userInfo
print("\(userInfo)")
completionHandler([])
}