设备锁定时可以处理通知动作吗?

时间:2019-03-09 05:59:16

标签: ios apple-push-notifications unusernotificationcenter actionable-notification

我已经使用通知已有一段时间了,我发誓userNotificationCenter(_:didReceive:withCompletionHandler:)仅在通过通知打开应用程序时才被处理。

但是,在查看actionable notifications时,我发现了这一点:

  

当用户选择一个操作时,系统在后台启动您的应用,并通知共享的UNUserNotificationCenter对象,该对象会通知其委托。使用您的委托对象的userNotificationCenter(_:didReceive:withCompletionHandler:)方法来标识选定的操作并提供适当的响应。

这是否意味着即使设备处于锁定状态,看似通用的didReceive委托方法现在仍然可以工作?

还是必须始终打开该应用程序以实际执行任何有意义的操作以响应通知操作(写入本地数据库,发送HTTPS请求等)?

2 个答案:

答案 0 :(得分:0)

是的,即使设备已锁定,委托也可以工作。仅当用户选择一个动作时,该应用程序才会被唤醒。另外,我不确定在调用完成模块之前将花费多少时间。

  

重要

     

如果您对行动的响应涉及访问磁盘上的文件,   考虑不同的方法。用户可以在   设备已锁定,这会使文件使用完整的   选项不适用于您的应用。如果发生这种情况,您可能需要保存   临时更改并将其集成到您应用的数据结构中   以后。

答案 1 :(得分:0)

通过此委托方法:userNotificationCenter(_:didReceive:withCompletionHandler:)通知在设备锁定时起作用,但是如果您想执行任何操作。

例如:假设您要通过Notification来选择应用程序中的任何电话,那么您还必须设置其他内容。 您必须在应用程序中设置PushKit Framework。如图所示:enter image description here

You have to create the different cerificate as well for PushKit Framework