https://blog.naver.com/websearch/220817381401


objective-c 기반으로 PushKit  앱 개발 방법은 다음과 같습니다.


* PushKit framework 를 포함시킨다.

  - Xcode Project 설정 -> General 에서 "PushKit.framework" 를 포함시킨다.


* Capabilities 수정

  - Xcode Project 설정 -> Capavilities 에서 아래의 항목을 추가한다.

    * Push Notifications

    * Background Modes

      + Voice over IP 를 체크한다.


* PushKit header 를 포함시킨다.


#import <PushKit/PushKit.h>


* PushKit 이벤트 수신을 위한 delegate 를 포함한다.

 

@interface AppDelegate : UIResponder <UIApplicationDelegatePKPushRegistryDelegate>


* PushKit 을 등록한다.


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

PKPushRegistry *pushRegistry = [[PKPushRegistry allocinitWithQueue:dispatch_get_main_queue()];

pushRegistry.delegate = self;

pushRegistry.desiredPushTypes = [NSSet setWithObject:PKPushTypeVoIP];

 

return YES;

}


* PushKit  delegate 를 구현한다.

// 앱이 시작되면 아래의 메소드가 호출되고 PushKit token 을 확인할 수 있다. 

- (void)pushRegistry:(PKPushRegistry *)registry didUpdatePushCredentials:(PKPushCredentials *)credentials forType:(PKPushType)type

{

if( [credentials.token length] == 0 )

{

NSLog(@"token NULL");

return;

}

NSLog(@"PushToken[%@]", credentials.token);

}

 

- (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(PKPushType)type

{

NSLog(@"didReceiveIncomingPushWithPayload");