IOS8下的本地通知(需要先注册再使用)

以前做远程推送通知,知道远程推送通知在IOS8下有新的变化

变化如下:(关于远程推送,大家可以去下载我的资源----> <<IOS远侧推送手册>> 以及在不同环境下的测试资源,充分为大家考虑。在这里就不再赘述了!)

    //注册远程推送通知

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

        //ios8下注册远程推送通知

        [[UIApplication sharedApplication]registerForRemoteNotifications];

        UIUserNotificationType types = UIUserNotificationTypeBadge|UIUserNotificationTypeSound                                                                                                                  ;

        UIUserNotificationSettings * setting =  [UIUserNotificationSettings settingsForTypes:types categories:nil];

        [[UIApplication sharedApplication] registerUserNotificationSettings:setting];

        

    }else{

    //ios8以前的版本环境下注册远程推送通知

       [[UIApplication sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge|UIUserNotificationTypeSound];

    

    }

    NSDictionary *remoteNotifiInfo = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];

    

    //Accept push notification when app is not open

    if (remoteNotifiInfo) {

        [self application:application didReceiveRemoteNotification:remoteNotifiInfo];

    }


今天在项目中加入了本地通知,代码没有问题,但是就是无法触发通知。查看了苹果的官方文档,总结起来就一句话:在IOS8下,要想使用通知就必须先注册再使用!
本地通知的使用相对简单,这里就直接给大家上注册本地通知的代码:

在View did load 方法中加入以下代码

    if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)])

        

    {

        

        [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];

        

    }


注:本人上传的关于远程推送的资源很齐备,里面详细讲述了IOS远程推送通知的细节和可能出现的错误,以及解决方案,面面俱到,关键是全部免费!希望能帮到大家。




你可能感兴趣的:(IOS8下的本地通知(需要先注册再使用))