ios - 如何使用 Swift 获取推送通知状态?

标签 ios swift push-notification apple-push-notifications

在我的应用程序中有一个启用/禁用推送通知的设置。注册一切正常,我的应用程序收到通知。

现在,当我更改设置时,我还使用 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/

相关文章:

ios - 核心数据 NSBatchDeleteRequest 似乎将对象留在上下文中

ios - UIWebView 未加载网页

objective-c - 重构为 ARC 给出错误隐式错误 [图片]

swift 可编码 : decode dictionary with unknown keys

android - 如何像 whatsapp 在 FirebaseMessagingService 中那样合并推送通知

ios - 如何在没有 Keychain 的情况下创建 Apple Push Certificate?

iphone - 在后台关闭应用程序

ios - firebase - 在多个位置原子删除

ios - 将文本字段编号除以 100 - swift iOS

iphone - 私有(private) APNS 服务器?