在我的应用中,有一个启用/禁用推送通知的设置。注册一切都很好,我的应用正在收到通知。
现在,当我更改设置时,我还使用UIApplication.shared.unregisterForRemoteNotifications()
注销。
但是,当我尝试获取应用已注册或未使用UIApplication.shared.isRegisteredForRemoteNotifications
的状态时,它将始终返回true
。
任何解决方案,我该如何解决?
答案 0 :(得分:1)
我已经在我的应用中以这种方式实现了推送通知设置。
当用户选择不接受推送通知时,我调用了 api(带有参数“ isEnabled = false”的updateNotificaitonStatus),在服务器端禁用了用于推送通知的标志。
因此,只要服务器有一些要发送的数据,那么...服务器将检查是否为用户启用了推送通知?如果没有,则忽略发送通知。
如果用户改变了主意,并启用了来自应用的通知,则使用true标志( updateNotificaitonStatus,参数为“ isEnabled = true” )重新发起一次api调用。
答案 1 :(得分:0)
使用此代码
let isRegisteredForRemoteNotifications = UIApplication.shared.isRegisteredForRemoteNotifications
if isRegisteredForRemoteNotifications {
// User is registered for notification
} else {
// Show alert user is not registered for notification
}
如果您需要任何教程,请使用this