iOS UNUserNotificationCenter在关闭通知后继续接收通知

时间:2019-03-08 01:19:06

标签: ios push-notification unusernotificationcenter

我在我的应用中看到了一些意外行为,希望有人可以帮助解释它。

我有一个接收通知的应用程序,当用户打开该应用程序时,它使用UNUserNotificationCenter.current().getDeliveredNotifications API将所有通知仍保留在用户的通知中心中。

我们的服务通过APNS定期发送的通知。

但是,如果用户随后在系统级别关闭了我的应用程序的通知(在“设置”应用程序中关闭了),则通知中心似乎仍仍然接收通知。即使设备上的通知中心中没有任何通知,调用UNUserNotificationCenter.current().getDeliveredNotifications仍会返回新通知,表明用户如果已打开通知,则可以正常收到该通知。

我真的对这种行为感到困惑。我希望APNS能够停止向已将其关闭某个应用程序的用户发送通知。即使对于已关闭通知一个月的用户,UNUserNotificationCenter仍会返回新的传递的通知。

这可能与iOS 12的“安静传递”功能有关吗?任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

它可以在iOS 12中运行,但不能在iOS 13中运行。从iOS 13看来,它已开始作为记录文档工作:

如果在通知中心中看不到您的应用通知 ,则该数组为空

不幸的是,我在发行说明中找不到此更改...

因此,一旦用户关闭通知,通知中心将不再显示通知,也不会在getDeliveredNotifications中返回