代码之家  ›  专栏  ›  技术社区  ›  david_miller_

当选择通知操作时,不能调用userNotificationCenter(\uu:didReceive:withCompletionHandler:)

  •  0
  • david_miller_  · 技术社区  · 6 年前

    我正在尝试让可操作的通知工作,并且我已经获得了在扩展通知时要显示的操作,但我无法在选择操作时调用委托函数。我宣布 self.notificationCenter.delegate = self 在里面 application(_:didFinishLaunchingWithOptions:) ,并且,如果我理解正确,当选择某个操作时,它应该调用 userNotificationCenter(_:didReceive:withCompletionHandler:) ,传入 UNNotificationResponse 对象但我的代码中从未触发过该方法。你知道为什么会这样吗?

    2 回复  |  直到 6 年前
        1
  •  0
  •   nikBhosale    6 年前

    一旦收到通知,就会调用上面提到的方法。

    单击通知上的操作后执行的方法是, 应用程序:handleActionWithIdentifier:forRemoteNotification:completionHandler:

        2
  •  0
  •   david_miller_    6 年前

    我解决了这个问题。要处理包含内容的通知,必须在项目中添加服务扩展作为新目标。我最后运行的是服务扩展,因此调试器不会在主应用程序中的断点处停止。我不知道服务扩展本质上被视为完全独立的应用程序。由于我仍在处理该方法的内容,其中的内容不起作用,它正在到达断点,因此我认为它没有像应该的那样调用该函数。