我在我的应用中看到了一些意外行为,希望有人可以帮助解释它。
我有一个接收通知的应用程序,当用户打开该应用程序时,它使用UNUserNotificationCenter.current().getDeliveredNotifications
API将所有通知仍保留在用户的通知中心中。
我们的服务通过APNS定期发送的通知。
但是,如果用户随后在系统级别关闭了我的应用程序的通知(在“设置”应用程序中关闭了),则通知中心似乎仍仍然接收通知。即使设备上的通知中心中没有任何通知,调用UNUserNotificationCenter.current().getDeliveredNotifications
仍会返回新通知,表明用户如果已打开通知,则可以正常收到该通知。
我真的对这种行为感到困惑。我希望APNS能够停止向已将其关闭某个应用程序的用户发送通知。即使对于已关闭通知一个月的用户,UNUserNotificationCenter
仍会返回新的传递的通知。
这可能与iOS 12的“安静传递”功能有关吗?任何帮助都会很棒。
答案 0 :(得分:1)
它可以在iOS 12中运行,但不能在iOS 13中运行。从iOS 13看来,它已开始作为记录文档工作:
如果在通知中心中看不到您的应用通知 ,则该数组为空
不幸的是,我在发行说明中找不到此更改...
因此,一旦用户关闭通知,通知中心将不再显示通知,也不会在getDeliveredNotifications
中返回