swift 獲取通知設定

懂事长qingzZ發表於2024-11-18

根據授權狀態更新變數

  • .authorized: 當使用者授權通知時,設定 hasNotification = trueenableNotification = 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()
        }

相關文章