How to update code using enabledRemoteNotificationTypes because it is “not supported in iOS 8”?

3 Solutions Collect From Internet About “How to update code using enabledRemoteNotificationTypes because it is “not supported in iOS 8”?”

You can also use this code:

if ([[UIApplication sharedApplication] respondsToSelector:@selector(currentUserNotificationSettings)]) {

    UIUserNotificationType types = [[[UIApplication sharedApplication] currentUserNotificationSettings] types];

    if (types == UIUserNotificationTypeNone) {
        // Do something
    }

} else {

    UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

    if (types == UIRemoteNotificationTypeNone) {
        // Do something
    }
}

Or this one if you only want to check the user is registered for remote notifications:

if ([[UIApplication sharedApplication] respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) {

    BOOL isRegisteredForRemoteNotifications = [[UIApplication sharedApplication] isRegisteredForRemoteNotifications];

    if (isRegisteredForRemoteNotifications) { 
        // Do something
    }

} else {

    UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

    if (types == UIRemoteNotificationTypeNone) {
        // Do something
    }
}

Use with this condition to give support in both iOS 7 and prior iOS 8

#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)

NSUInteger rntypes;
  if (!SYSTEM_VERSION_LESS_THAN(@"8.0")) {
   rntypes = [[[UIApplication sharedApplication] currentUserNotificationSettings] types];
}else{
   rntypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
}

Please use following methods –

[[UIApplication sharedApplication] isRegisteredForRemoteNotifications]

or

[[UIApplication sharedApplication] currentUserNotificationSettings]

to retrieve user-enabled remote notification and user notification settings in iOS 8.