userNotificationCenter didReceive 响应包含空通知(watchOS)
Posted
技术标签:
【中文标题】userNotificationCenter didReceive 响应包含空通知(watchOS)【英文标题】:userNotificationCenter didReceive response contains empty notification (watchOS) 【发布时间】:2020-10-18 18:17:50 【问题描述】:我正在尝试从 watchOS 中的userNotificationCenter(_:didReceive:withCompletionHandler:) 检索原始通知内容。从 APNS 发送推送通知时,我设法触发了回调,但不幸的是,response
对象包含一个空的notification
:
<UNNotificationResponse: 0x600003bc0b40; actionIdentifier: start, notification: (null)>
我正在使用 Apple 文档中 Listing 1 中的示例。
20 年 10 月 19 日更新
我创建了一个示例项目SampleNotification 来重现该问题(有关如何重现,请参阅 README.md)。我注意到只有当用户按下UNNotificationAction
时,回调才会返回一个空通知。此外,我确认在 ios 中没有观察到这种模式。
看来userNotificationCenter(_:willPresent:withCompletionHandler:)
收到的同一个通知不为空!
如果有任何反馈,我将不胜感激
【问题讨论】:
你能解决这个问题吗? 不,我很惊讶没有人遇到同样的问题。我注意到如果您在UNNotificationAction
中有options: [.foreground]
,问题仍然存在。在所有其他情况下,都会填充通知对象。
我也遇到了同样的问题,我不知道为什么,但它在 xcode 11 中工作正常,在我将其更新到 12 后,我遇到了这个问题。我不知道,可能是 xcode 中的更新导致这个问题
@jiko 你找到解决办法了吗?
【参考方案1】:
我在使用 watchOS 7.1 和 ios 14.1 时遇到了同样的问题。我联系了 Apple 技术支持团队。这是我从他们那里得到的答复
“我们的工程师已经审核了您的请求,并确定您遇到了一个已知问题,目前没有已知的解决方法。”
【讨论】:
喜欢“目前没有已知的解决方法”! 我仍然遇到同样的问题,请做点什么......以上是关于userNotificationCenter didReceive 响应包含空通知(watchOS)的主要内容,如果未能解决你的问题,请参考以下文章
从 userNotificationCenter 检索通知类型:didReceiveNotificationResponse:withCompletionHandler:
userNotificationCenter didReceive 响应包含空通知(watchOS)
iOS 将通知对象发送到 UserNotificationCenter 和 didFinishLaunchingWithOptions
通知不会触发 macOS Big Sur 11.6 上的 userNotificationCenter