DirTy™의 하루일과/DirTy™의 가당찮은iOS

[IOS] ios8 apns대응

DirTy™ 2014. 9. 18. 10:30

오늘 iOS8로 업데이트 되었다.

테스트기기에서 돌려보니 푸시메시지가 안들어온다. 구글링하니 아래와같이 대응해줘야 한단다.


일단 AppDelegate.h에 iOS8 인지 아닌지 define을 걸어놓자!

#define IS_iOS_8 [[[UIDevice currentDevice] systemVersion] floatValue] >= 8


그리고 AppDelegate.m의 첫 시작점인

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


에다가 아래와 같은 코드를 추가하자.


    if (IS_iOS_8) { // ios8 푸시~

        [[UIApplication sharedApplication] registerUserNotificationSettings:

         [UIUserNotificationSettings settingsForTypes:(UIRemoteNotificationTypeBadge|

                                                       UIRemoteNotificationTypeSound|

                                                       UIRemoteNotificationTypeAlert)

                                           categories:nil]];

        [[UIApplication sharedApplication] registerForRemoteNotifications];

    } else {

        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:

         (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

    }


이렇게 대응해주니 iOS8에서도 푸시메시지가 제대로 동작한다!