首页 > 代码库 > ios (推送之远程推送)升级成ios8系统之后有些程序接收不到远程推送

ios (推送之远程推送)升级成ios8系统之后有些程序接收不到远程推送

维护一个程序,当手机升级到ios8之后就不能接收到远程推送,显示注册失败,查了下资料,原来是没有获取用户许可,加了个方法试了下,ok

if ([[[UIDevice currentDevice]systemVersion ]integerValue] >= 8) {
        
        UIUserNotificationSettings*setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil];
        [application registerUserNotificationSettings:setting];
        [application registerForRemoteNotifications];
        
    }else{
        
        [application registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound];
        
    }

系统版本不同所用的注册方法也是不一样的,下面是苹果sdk给出的说明:

- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types NS_DEPRECATED_IOS(3_0, 8_0, <span style="color:#FF0000;">"Please use registerForRemoteNotifications and registerUserNotificationSettings: instead"</span>);




ios (推送之远程推送)升级成ios8系统之后有些程序接收不到远程推送