UNNotificationSound

Panther·2021년 8월 17일
0
post-custom-banner

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

"The sound played upon delivery of a notification."

노티피케이션의 전달에서 재생되는 소리입니다.

Declaration

class UNNotificationSound : NSObject

Overview

노티피케이션을 전달할 때 시스템이 특정 소리를 재생하길 원하는 경우 UNNotificationSound 객체를 생성해야 합니다. 기본값 시스템 소리를 재생하려면 기본값 메소드를 사용해서 소리 객체를 생성해야 합니다. 커스텀 소리 재생을 원하는 경우 새로운 소리 객체를 생성하고 재생하길 원하는 오디오 파일 이름을 구체화해야 합니다.

로컬 노티피케이션의 경우 소리 객체를 UNMutableNotificationContent 객체의 소리 속성에 할당해야 합니다. 원격 노티피케이션의 경우 aps 딕셔너리에 있는 소리 키에 소리 파일의 이름을 할당해야 합니다. 전달 전 노티피케이션에 소리 파일을 추가하기 위해 노티피케이션 서비스 앱 확장을 사용할 수도 있습니다. 확장에서 UNNotificationSound 객체를 생성하고 이를 로컬 노티피케이션에서 했었던 것과 같은 방법으로 노티피케이션 컨텐트에 추가해야 합니다.

오디오 파일은 시스템이 재생하기 전에 사용자의 기기에 미리 준비되어 있어야 합니다. 노티피케이션에 대해 사전에 정의된 소리 집합을 사용하는 경우 오디오 파일을 앱의 번들에 포함시켜야 합니다. 다른 소리의 경우 UNNotificationSound 객체는 아래 위치만을 탐색합니다.

  • 앱 컨테이너 디렉토리의 /Library/Sounds 입니다.
  • 앱의 공유된 그룹 컨테이너 디렉토리 중 하나인 /Library/Sounds 디렉토리입니다.
  • 현재 실행 가능한 메인 번들입니다.

Prepare Sound Resources

시스템 소리 기능은 커스텀 알림 소리를 재생합니다. 그렇기 때문에 이들은 아래 오디오 데이터 포맷 중 한 가지여야 합니다.

  • Linear PCM
  • MA4 (IMA/ADPCM)
  • µLaw
  • aLaw

오디오 데이터를 aiff, wav, caf 파일로 패키징할 수 있습니다. 소리 파일은 길이가 30초 미만이어야 합니다. 만약 소리가 30초보다 길면 시스템은 기본값 소리를 대신 재생합니다.

소리를 변환하기 위해 afconvert command-line 도구를 사용할 수 있습니다. 예를 들어 CAF 파일에서 시스템 소리 Submarine.aiff를 IMA4 오디오로 변환하려면, 터미널에서 아래 명령을 사용해야 합니다.

afconvert /System/Library/Sounds/Submarine.aiff ~/Desktop/sub.caf -d ima4 -f caff -v

See Also


Notification Content

UNNotificationActionIcon

액션과 관련이 있는 아이콘입니다.

https://developer.apple.com/documentation/usernotifications/unnotificationactionicon
https://velog.io/@panther222128/UNNotificationActionIcon

UNMutableNotificationContent

노티피케이션에 대한 편집 가능한 컨텐트입니다.

https://developer.apple.com/documentation/usernotifications/unmutablenotificationcontent
https://velog.io/@panther222128/UNMutableNotificationContent

UNNotificationContent

노티피케이션의 편집 불가능한 컨텐트입니다.

https://developer.apple.com/documentation/usernotifications/unnotificationcontent
https://velog.io/@panther222128/UNNotificationContent

UNNotificationAttachment

노티피케이션과 관련이 있는 미디어 파일입니다.

https://developer.apple.com/documentation/usernotifications/unnotificationattachment
https://velog.io/@panther222128/UNNotificationAttachment


post-custom-banner

0개의 댓글