【iOS15】 통지 허가 다이얼로그의 「시간 지정 요약으로 허가」의 상태를 취득한다

3745 단어 SwiftiOS15

소개



iOS15부터 Notification Summary라는 기능이 추가된다.
이에 따라, 설정 어플리케이션의 통지 설정 화면에 「시간 지정 요약」이라는 항목이 추가되었다.
「시간 지정 요약」을 ON으로 한 경우, ↓과 같이 통지 허가 다이얼로그에 「시간 지정 요약으로 허가」라는 항목이 표시된다.


시간 지정 요약 ON
시간 지정 요약 OFF






사용자가 「시간 지정 요약으로 허가」를 탭했는지의 여부로 처리를 분기하는 경우도 있기 때문에, 그 판정 방법을 기재한다.

판정 방법


UNNotificationSettings 에 iOS15에서 추가된 scheduledDeliverySetting 를 사용합니다.
let notificationCenter = UNUserNotificationCenter.current()
notificationCenter.requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in
    if error != nil {
        // エラー
    }
    if granted {
        // 通知許可
    }
    notificationCenter.getNotificationSettings { settings in
        switch settings.scheduledDeliverySetting {
        case .enabled:
            print("許可")
        case .disabled:
            print("許可されてない")
        case .notSupported:
            print("サポートされてない")
        }
    }
}


주의점


  • 「시간 지정 요약으로 허가」를 탭하지 않는 한 .enabled가 되지 않고, 통상의 「허가」를 탭했을 경우는 .disabled 가 된다.
  • 「시간 지정 요약으로 허가」를 탭해도.

  • 끝에



    사용자가 실수로 "시간 지정 요약으로 허가"를 누르면 통지에 따라 즉시 도착하지 않기 때문에 통지 허가 대화 상자를 표시 할 때 뭔가를 고려하는 것이 좋습니다.
    또, 「시간 지정 요약으로 허가」를 선택한 상태에서 UNNotificationSettings.authorizationStatus.authorized (default의 level)의 통지라면 항상 즉시 통지되지 않게 되어 버린다. 따라서 필요에 따라 Interruption levelsActive 이상으로 하는 대응도 필요하다.

    참고

    좋은 웹페이지 즐겨찾기