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

  • 相关阅读:
    判断输入的字符串是否含有特殊字符和表情
    表单转换为JSON
    重写Alert和confirm方法去除地址显示
    C语言内存管理
    自定义C语言中常用的字符串操作函数
    C语言中定义字符串的几种方式
    WebStorm常用快捷键
    鼠标点击特效
    打印指定年份的日历
    VS code 生成.exe可执行文件失效问题
  • 原文地址:https://www.cnblogs.com/swallow37/p/4045754.html
Copyright © 2011-2022 走看看