https://developer.apple.com/documentation/pushkit/pkpushcredentials
"An object that requests the delivery and handles the receipt of PushKit notifications."
전달을 요청하고 PushKit
노티피케이션의 수신을 처리하는 객체입니다.
class PKPushRegistry : NSObject
PKPushRegistry
객체는 VoIP 앱에서 필요한 우선순위가 높은 노티피케이션의 경우처럼 노티피케이션의 특정 타입만을 관리합니다. PushKit
은 들어오는 노티피케이션 전달이 필요할 때 앱을 깨우고, 노티피케이션을 요청했던 푸시 레지스트리 객체에 직접 노티피케이션을 전달합니다.
앱이 launch될 때마다 포어그라운드 혹은 백그라운드에 관계없이 푸시 레지스트리 객체를 생성할 수 있고 설정할 수 있습니다. 보통 앱의 실행 듀레이션 동안 푸시 레지스트리 객체를 유지하게 될 것입니다. 각각의 푸시 레지스트리 객체는 등록 요청에 대한 응답을 처리하기도 하는 자신의 딜리게이트로 들어오는 노티피케이션을 전달합니다. Listing 1은 푸시 레지스트리 객체 생성 및 VoIP 노티피케이션 요청 방법을 보여주고 있습니다. 항상 desiredPushTypes
속성의 수정 전에 적합한 딜리게이트 객체를 할당해야 합니다.
Listing 1 Creating and configuring a push registry object
func registerForVoIPPushes() {
self.voipRegistry = PKPushRegistry(queue: nil)
self.voipRegistry.delegate = self
self.voipRegistry.desiredPushTypes = [PKPushTypeVoIP]
}
desiredPushTypes
속성에 새 값을 할당하는 것은 PushKit
서버로 푸시 레지스트리 객체를 등록합니다. 서버는 등록 시도의 성공 여부를 푸시 레지스트리에 비동기로 알려준 후 해당 결과를 딜리게이트 객체에 알려줍니다. 딜리게이트 메소드에 대한 더 많은 정보는 PKPushRegistryDelegate
를 보시기 바랍니다.
PKPushRegistryDelegate
<>
<>
앱이 지원할 PushKit 노티피케이션의 타입을 선언하고, 이러한 노티피케이션에 응답할 객체를 설정합니다.
https://developer.apple.com/documentation/pushkit/supporting_pushkit_notifications_in_your_app
https://velog.io/@panther222128/Supporting-PushKit-Notifications-in-Your-App
앱에 푸시 노티피케이션 전달을 위해 사용하는 기기 토큰을 캡슐화하는 객체입니다.
https://developer.apple.com/documentation/pushkit/pkpushcredentials
https://velog.io/@panther222128/PKPushCredentials