码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 8 通知设置页找不到App的问题

时间:2014-10-20 14:55:22      阅读:419      评论:0      收藏:0      [点我收藏+]

标签:io   os   ar   for   sp   on   问题   log   代码   

用Xcode6运行会发现log提示:registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later

iOS 8 has changed notification registration in a non-backwards compatible way. While you need to support iOS 7 and 8 (and while apps built with the 8 SDK aren‘t accepted), you can check for the selectors you need and conditionally call them correctly for the running version.Here‘s a category on UIApplication that will hide this logic behind a clean interface for you that will work in both Xcode 5 and Xcode 6

解决方法:

// IOS8 
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
    [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings 
     settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge)      
categories:nil]];
    [[UIApplication sharedApplication] registerForRemoteNotifications];
} else {
    // 原来的代码
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
     (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)];
}

原本在IOS7当中 判断PUSH是否打开的方法是:

{
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
return (types & UIRemoteNotificationTypeAlert);

}

在IOS8中,则要用下面的代码:

{
UIRemoteNotificationType types;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)  {

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

} else {
    types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
}
return (types & UIRemoteNotificationTypeAlert);

}

 

iOS 8 通知设置页找不到App的问题

标签:io   os   ar   for   sp   on   问题   log   代码   

原文地址:http://www.cnblogs.com/sunFlowerX/p/4037032.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!