当用户在“设置”应用中更改推送通知设置时如何获得通知?

时间:2020-02-12 07:44:23

标签: ios swift apple-push-notifications unusernotificationcenter

请考虑以下情形:

已安装应用程序
应用启动
推送通知➝请求
推送通知➝不允许
应用已关闭或处于后台
设置➝用户启用的推送通知

如何在不将应用程序移至前台的情况下如何获得有关此更改的通知,以便即使用户未打开应用程序也可以将设备令牌发送到我们的后端服务器以接收通知?< / 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
        }
    }
}

但这仅在您的应用移至前台或再次启动后发生。

如果这些都不发生怎么办?

0 个答案:

没有答案