UNNotificationContentExtension未显示

时间:2016-09-17 22:44:23

标签: ios push-notification apple-push-notifications ios10

我正在尝试制作自定义通知提醒。我添加了扩展程序目标,并将UNNotificationExtensionCategory值更改为“绘图”。

在我的推送通知中,我向"category" : "drawing"块添加了aps元素。但该扩展程序中的didReceive(_:)方法永远不会被调用。我忘记做了什么?

5 个答案:

答案 0 :(得分:2)

你好像已经做了什么。我也有类似的问题,没有看到自定义通知屏幕。 但是,UNNotificationContentExtension文档中未提及的是,只有在通知警报上进行3D触摸时才会显示自定义屏幕。我尝试做3D触摸并出现自定义屏幕。请检查。

答案 1 :(得分:1)

首先请检查扩展名info.plist文件中的扩展名类别是否设置正确,以匹配推送通知的aps块中发送的扩展名

第二次检查扩展的部署目标是否为<=您要在其上运行的设备的iOS版本。

答案 2 :(得分:0)

只有在您触摸通知时才会调用此方法。

如果您通过LLDB进行监控,它将作为一个单独的流程运行。确保您正在构建扩展目标,以便从LLDB访问这些方法和日志。

最后,如果你像我一样,并且你已经放弃了故事板,那么你需要在你的扩展Info.plist中指定主要类。此类必须是主视图控制器,包括目标命名空间。例如,如果您的扩展程序为MyNotificationExtension,那么您可以设置NSExtension&gt; NSPrincipalClass为MyNotificationExtension.MyNotificationExtensionViewController

答案 3 :(得分:0)

您是否已将此添加到目标的info.plist文件中,而不是ACTIONABLE添加drawing enter image description here

答案 4 :(得分:0)

我遇到了类似的问题,只是在plist中,我将UNNotificationExtensionCategory设置为Array,而我没有正确添加它们。

错误:

enter image description here

它不应该位于UNNotificationExtensionCategory旁边,即它不应该是NSExtensionAttributes的字段

正确:

![enter image description here

它应该是UNNotificationExtensionCategory

的字段

显然,要了解如何使用plist,您需要至少25年的经验:)