Ios 如何使用Swift获取推送通知状态?
在我的应用程序中,有一个启用/禁用推送通知的设置。注册一切正常,我的应用程序收到通知 现在,当我更改设置时,我还使用Ios 如何使用Swift获取推送通知状态?,ios,swift,push-notification,apple-push-notifications,Ios,Swift,Push Notification,Apple Push Notifications,在我的应用程序中,有一个启用/禁用推送通知的设置。注册一切正常,我的应用程序收到通知 现在,当我更改设置时,我还使用UIApplication.shared.unregisterForRemoteNotifications()取消注册 但当我尝试获取应用程序已注册或未使用UIApplication.shared.isRegisteredForRemoteNotifications的状态时,它总是返回我true 任何解决方案,我如何解决这个问题?我已经在推送通知设置的应用程序中以这种方式实现了
UIApplication.shared.unregisterForRemoteNotifications()
取消注册
但当我尝试获取应用程序已注册或未使用UIApplication.shared.isRegisteredForRemoteNotifications
的状态时,它总是返回我true
任何解决方案,我如何解决这个问题?我已经在推送通知设置的应用程序中以这种方式实现了
- 当用户选择退出推送通知时,我调用了一个api(带有参数“isEnabled=false”的UpdateNotificatonStatus),该api禁用服务器端的推送通知标志
- 所以,每当服务器有一些数据要发送时……服务器将检查是否为用户启用了推送通知?,如果没有,则忽略发送通知
- 如果用户改变主意,从应用程序启用了通知,则使用true标志(updateNotificiationStatus,参数为“isEnabled=true”)再次调用api
true
。如果用户不需要通知,则他们可以在应用程序的设置中禁用通知,或者您可以更新后端数据库,以标记不应发送通知或删除推送注册令牌。您好@DarshanPatel我正在使用iOS 12.2并在真实设备中测试。嘿,@Paulw11感谢您的建议。没有使用服务器调用就没有其他解决方案?