根據授權狀態更新變數
- .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() }