在我的应用程序中有一个启用/禁用推送通知的设置。注册一切正常,我的应用程序收到通知。
现在,当我更改设置时,我还使用 UIApplication.shared.unregisterForRemoteNotifications()
取消注册。
但是,当我尝试使用 UIApplication.shared.isRegisteredForRemoteNotifications
获取应用已注册或未注册的状态时,它总是返回给我 true
。
任何解决方案,我该如何解决?
最佳答案
我已经在我的应用程序中以这种方式实现了推送通知设置。
当用户选择退出推送通知时,我调用了一个 api(updateNotificaitonStatus with parameter "isEnabled = false"),它在服务器端禁用了推送通知的标志。 p>
所以每当服务器有一些数据要发送时......服务器将检查是否为用户启用了推送通知?如果没有,则忽略发送通知。
如果用户改变主意,并启用来自应用程序的通知,则使用 true 标志(updateNotificaitonStatus with parameter "isEnabled = true")再次调用 api。
关于ios - 如何使用 Swift 获取推送通知状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55878101/