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 <UIApplicationDelegate, PKPushRegistryDelegate>
* PushKit 을 등록한다.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
PKPushRegistry *pushRegistry = [[PKPushRegistry alloc] initWithQueue: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");