iOS 8 에서 뱃지 사용하는게 달라졌다.


기존에는 단순하게 다음과 같이 사용할수 있었다.

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:count];

iOS 8에서는 다음과 같은 로그를 남기며 뱃지가 표시되지 않는다. 

Attempting to badge the application icon but haven't received permission from the user to badge the application


하지만 iOS 8에서는 다음과 같이 registerUserNotificationSettings를 사용해야 한다.

(iOS 8에서 registerForRemoteNotificationTypes는 deprecated 됨)

    if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)])
    {
        [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
        [[UIApplication sharedApplication] registerForRemoteNotifications];
    } else
    {
        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
         (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
    }


저작자 표시 비영리 변경 금지
Posted by 준치짱


티스토리 툴바