zoukankan      html  css  js  c++  java
  • IOS8 PUSH

    registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later   

    // 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)];
    }

    加方法(在iphone 6上不加下面方法developer收不到):

    - (void) application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings{//ios8.0 以上 

        [application registerForRemoteNotifications];

    }


    原本在IOS7当中 判断PUSH是否打开的方法是:
    UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
    return (types & UIRemoteNotificationTypeAlert);


    如果将这段代码使用在 IOS当中,虽然不会出现crash的现象,但是基本没什么作用。
    在IOS8中,我们使用如下的新代码来取代以上的代码


    {
    UIRemoteNotificationType types;
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
       {
     types = [[UIApplication sharedApplication] currentUserNotificationSettings].types;
        }
    else
       {
     types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
        }


    return (types & UIRemoteNotificationTypeAlert);
    }

  • 相关阅读:
    nginx错误收集
    RDP-报表
    畅谈一二三
    基于vue项目,如何构建组织可维护前端路由结构
    Grid 布局基础常见场景
    数组中every、some、from、reduce四个很重要的api用法总结
    当代免疫学小史-第三章
    当代免疫学小史-第二章
    微信小程序swiper实现 句子控app首页滑动卡片
    微信小程序 setData的小知识
  • 原文地址:https://www.cnblogs.com/swallow37/p/4045754.html
Copyright © 2011-2022 走看看