根据授权状态更新变量
- .authorized: 当用户授权通知时,设置
hasNotification = true 和 enableNotification = true。
- .denied: 当用户拒绝通知时,设置
hasNotification = false。
- .notDetermined: 当通知权限尚未决定时,设置
hasNotification = false(也可以根据实际需要做进一步处理,如提示用户)。
- .provisional: 当用户处于临时通知授权状态时,设置
hasNotification = false。
- .ephemeral: 临时授权状态,适用于某些隐私敏感场景,设置
hasNotification = false。
- @unknown default: 捕获未来可能新增的
authorizationStatus 状态,以防编译器提示错误,并设置 hasNotification = false。
UNUserNotificationCenter.current().getNotificationSettings { (setttings) in
switch setttings.authorizationStatus{
case .authorized:
hasNotification = true
case .denied:
hasNotification = false
case .notDetermined:
hasNotification = false
case .provisional:
hasNotification = false
case .ephemeral:
hasNotification = false
@unknown default:
hasNotification = false
}
workingGroup.leave()
}