【问题标题】:UNNotificationContentExtension not displayingUNNotificationContentExtension 不显示
【发布时间】:2017-01-25 22:02:04
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    你似乎已经做了需要做的事。我也有类似的问题,没有看到自定义通知屏幕。 但是,UNNotificationContentExtension 的文档中没有提到的是,自定义屏幕仅在您对通知警报进行 3D 触摸时才会出现。我尝试进行 3D 触摸,然后出现了自定义屏幕。请检查。

    【讨论】:

    • 除了强制触摸,用户还可以向左滑动通知,然后从上下文菜单中选择“查看”。
    【解决方案2】:

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

    第二次检查扩展的部署目标是

    【讨论】:

      【解决方案3】:

      你有没有在你的目标的 info.plist 文件中添加这个而不是ACTIONABLE 添加drawing

      【讨论】:

        【解决方案4】:

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

        不正确:

        它不应该出现在UNNotificationExtensionCategory 旁边,即它不应该是NSExtensionAttributes 的字段

        正确:

        应该是UNNotificationExtensionCategory的字段

        显然要学习如何使用 plist 你需要至少 25 年的经验:)

        【讨论】:

          【解决方案5】:

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

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-10-26
            • 2016-12-28
            • 1970-01-01
            • 1970-01-01
            • 2019-06-21
            • 2021-11-07
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多