IOS

611. (ios/swift5) [간단 소스] UNAuthorizationOptions 간단 설명 및 사용 옵션 정리 - 로컬 및 원격 알림의 승인 결정 옵션

투케이2K 2024. 12. 11. 18:41

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

 

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Swift


- 개발 툴 : Xcode


- 기술 구분 : UNAuthorizationOptions / 로컬 및 원격 알림 사용 옵션

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------

1. UNAuthorizationOptions 은 로컬 및 원격 알림의 승인을 결정하는 옵션 객체입니다.


2. UNAuthorizationOptions 은 푸시 알림을 사용하기 위해 옵션 값 지정 후 사용자에게 권한을 승인 받을 때 사용됩니다


3. UNAuthorizationOptions 사용 가능 지원 범위 : 

  >> iOS 10.0 이상
  >> 아이패드OS 10.0+
  >> 맥 카탈리스트 13.1+
  >> 맥OS 10.14+
  >> tvOS 10.0 이상
  >> 비전OS 1.0+
  >> 워치OS 3.0+


4. UNAuthorizationOptions 옵션 종류 관련 : 

  >> static var badge: UNAuthorizationOptions : 앱 배지를 업데이트하는 기능.
  >> static var sound: UNAuthorizationOptions : 소리를 낼 수 있는 능력.
  >> static var alert: UNAuthorizationOptions : 알림을 표시하는 기능.
  >> static var carPlay: UNAuthorizationOptions : CarPlay 환경에서 알림을 표시하는 기능.
  >> static var criticalAlert: UNAuthorizationOptions : 중요한 알림에 대해 소리를 재생하는 기능.
  >> static var providesAppNotificationSettings: UNAuthorizationOptions : 앱 내 알림 설정을 위한 버튼을 시스템에 표시해야 한다는 것을 나타내는 옵션입니다.
  >> static var provisional: UNAuthorizationOptions : 알림 센터에 방해받지 않는 알림을 임시로 게시하는 기능.


5. UNAuthorizationOptions 사용 예시 소스 코드 :

  let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound] // [푸시 알림 권한]

  UNUserNotificationCenter.current().requestAuthorization(options: authOptions) { (success, error) in // [푸시 알림 권한 요청]
      // [success 부분에 권한을 허락하면 true / 권한을 허락하지 않으면 false 값이 들어갑니다]
      if let error = error {
          print("")
          print("====================================")
          print("[C_Permission >> getPushAuthCheck() :: 푸시 알림 권한 확인 실시]")
          print("error :: \(error.localizedDescription)")
          print("====================================")
          print("")
      }
      else {
          if success {
              print("")
              print("====================================")
              print("[C_Permission >> getPushAuthCheck() :: 푸시 알림 권한 확인 실시]")
              print("상태 :: 푸시 알림 권한 허용")
              print("====================================")
              print("")
          }
          else {
              print("")
              print("====================================")
              print("[C_Permission >> getPushAuthCheck() :: 푸시 알림 권한 확인 실시]")
              print("상태 :: 푸시 알림 권한 거부")
              print("====================================")
              print("")
          }
      }
  }
        
// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[애플 공식 사이트]

https://developer.apple.com/documentation/usernotifications/unauthorizationoptions


[C_Permission - 모바일 퍼미션 권한 관리 클래스]

https://blog.naver.com/kkh0977/222681793409?trackingCode=blog_bloghome_searchlist


[로컬 노티피케이션 알림 발송 및 확인 실시 - UNUserNotificationCenter]

https://blog.naver.com/kkh0977/222552612515?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------

 

반응형