IOS8推送通知

问题描述:

我正在尝试为没有任何运气的推送通知注册Ipad。我已经尝试了下面的代码,但在IOS8上获取错误“registerForRemoteNotificationTypes:在iOS 8.0及更高版本中不受支持。”虽然它在IOS7上运行良好。IOS8推送通知

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions 
{ 
    CGRect screenBounds = [[UIScreen mainScreen] bounds]; 


    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) 
    { 
     NSLog(@"+++++++++++++"); 

     [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; 
     [[UIApplication sharedApplication] registerForRemoteNotifications]; 
    } 
    else 
    { 
     NSLog(@"============"); 
     [[UIApplication sharedApplication] registerForRemoteNotificationTypes: 
     (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)]; 
    } 

更好的方式:

if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) 
{ 
    // iOS 8 Notifications 
    // use registerUserNotificationSettings 
    [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; 
    [[UIApplication sharedApplication] registerForRemoteNotifications]; 
} 
else 
{ 
    // iOS < 8 Notifications 
    // use registerForRemoteNotifications 
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert]; 
} 
+0

我曾尝试提到的代码现在收到这个错误 2014年10月11日13:00:53.555的测试程序[927:173651] enabledRemoteNotificationTypes不支持iOS 8.0及更高版本。 – 2014-10-11 08:01:42