选择通知操作时不会调用 userNotificationCenter(_:didReceive:withCompletionHandler:)
userNotificationCenter(_:didReceive:withCompletionHandler:) not be called when a notification action is selected
我正在尝试让可操作的通知正常工作,并且我已经获得了在通知展开时显示的操作,但是当我 select 一个操作时我无法调用委托函数。我在 application(_:didFinishLaunchingWithOptions:)
中声明 self.notificationCenter.delegate = self
,如果我理解正确,当一个动作被 selected 时,它应该调用 userNotificationCenter(_:didReceive:withCompletionHandler:)
,传入 UNNotificationResponse
目的。但是我的代码中永远不会触发该方法。知道为什么会这样吗?
您上面提到的方法会在您收到通知后立即调用。
点击通知动作后执行的方法是,
application:handleActionWithIdentifier:forRemoteNotification:completionHandler:
我想通了这个问题。要处理带有内容的通知,您必须在项目中添加服务扩展作为新目标。我 运行 最后一件事是服务扩展,因此调试器不会在主应用程序的断点处停止。我不知道服务扩展本质上被视为完全独立的应用程序。由于我仍在处理该方法的内容,其中的内容不起作用并且遇到了断点,所以我认为它没有按应有的方式调用该函数。
我正在尝试让可操作的通知正常工作,并且我已经获得了在通知展开时显示的操作,但是当我 select 一个操作时我无法调用委托函数。我在 application(_:didFinishLaunchingWithOptions:)
中声明 self.notificationCenter.delegate = self
,如果我理解正确,当一个动作被 selected 时,它应该调用 userNotificationCenter(_:didReceive:withCompletionHandler:)
,传入 UNNotificationResponse
目的。但是我的代码中永远不会触发该方法。知道为什么会这样吗?
您上面提到的方法会在您收到通知后立即调用。
点击通知动作后执行的方法是, application:handleActionWithIdentifier:forRemoteNotification:completionHandler:
我想通了这个问题。要处理带有内容的通知,您必须在项目中添加服务扩展作为新目标。我 运行 最后一件事是服务扩展,因此调试器不会在主应用程序的断点处停止。我不知道服务扩展本质上被视为完全独立的应用程序。由于我仍在处理该方法的内容,其中的内容不起作用并且遇到了断点,所以我认为它没有按应有的方式调用该函数。