请考虑以下情形:
已安装应用程序
应用启动
推送通知➝请求
推送通知➝不允许
应用已关闭或处于后台
设置➝用户启用的推送通知
如何在不将应用程序移至前台的情况下如何获得有关此更改的通知,以便即使用户未打开应用程序也可以将设备令牌发送到我们的后端服务器以接收通知?< / p>
我知道您可以像这样检查 但这仅在您的应用移至前台或再次启动后发生。 UNUserNotifications
框架是否允许通知:static func checkNotificationStatus() {
UNUserNotificationCenter.current().getNotificationSettings { settings in
switch settings.authorizationStatus {
case .authorized: generatePushToken()
case .provisional: generatePushToken()
case .denied: break
case .notDetermined:
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
checkNotificationStatus()
}
@unknown default: break
}
}
}
如果这些都不发生怎么办?