• 本地推送 简单代码演示


     1 第一步:创建本地推送
     2 // 创建一个本地推送
     3 UILocalNotification *notification = [[[UILocalNotification alloc] init] autorelease];
     4 //设置10秒之后
     5 NSDate *pushDate = [NSDate dateWithTimeIntervalSinceNow:10];
     6 if (notification != nil) {
     7     // 设置推送时间
     8     notification.fireDate = pushDate;
     9     // 设置时区
    10     notification.timeZone = [NSTimeZone defaultTimeZone];
    11     // 设置重复间隔
    12     notification.repeatInterval = kCFCalendarUnitDay;
    13     // 推送声音
    14     notification.soundName = UILocalNotificationDefaultSoundName;
    15     // 推送内容
    16     notification.alertBody = @"推送内容";
    17     //显示在icon上的红色圈中的数子
    18     notification.applicationIconBadgeNumber = 1;
    19     //设置userinfo 方便在之后需要撤销的时候使用
    20     NSDictionary *info = [NSDictionary dictionaryWithObject:@"name"forKey:@"key"];
    21     notification.userInfo = info;
    22     //添加推送到UIApplication       
    23     UIApplication *app = [UIApplication sharedApplication];
    24     [app scheduleLocalNotification:notification]; 
    25    
    26 }
    27 
    28 第二步:接收本地推送
    29 - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification{
    30     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"iWeibo" message:notification.alertBody delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
    31     [alert show];
    32     // 图标上的数字减1
    33     1.        application.applicationIconBadgeNumber -= 1;
    34 }
    35 
    36 第三步:解除本地推送
    37 // 获得 UIApplication
    38 UIApplication *app = [UIApplication sharedApplication];
    39 //获取本地推送数组
    40 NSArray *localArray = [app scheduledLocalNotifications];
    41 //声明本地通知对象
    42 UILocalNotification *localNotification;
    43 if (localArray) {
    44     for (UILocalNotification *noti in localArray) {
    45         NSDictionary *dict = noti.userInfo;
    46         if (dict) {
    47             NSString *inKey = [dict objectForKey:@"key"];
    48             if ([inKey isEqualToString:@"对应的key值"]) {
    49                 if (localNotification){
    50                     [localNotification release];
    51                     localNotification = nil;
    52                 }
    53                 localNotification = [noti retain];
    54                 break;
    55             }
    56         }
    57     }
    58    
    59     //判断是否找到已经存在的相同key的推送
    60     if (!localNotification) {
    61         //不存在初始化
    62         localNotification = [[UILocalNotification alloc] init];
    63     }
    64    
    65     if (localNotification) {
    66         //不推送 取消推送
    67         [app cancelLocalNotification:localNotification];
    68         [localNotification release];
    69         return;
    70     }
    71 }
    72 
    73 流程大概是这样的
    74 1.生成CertificateSigningRequest.certSigningRequest文件
    75 2.将CertificateSigningRequest.certSigningRequest上传进developer,导出.cer文件
    76 3.利用CSR导出P12文件
    77 4.需要准备下设备token值(无空格)
    78 5.使用OpenSSL合成服务器所使用的推送证书
  • 相关阅读:
    bobobrowse为Lucene添加分组统计
    实现lucene检索结果排序
    facets in lucene
    lucene3.5 example
    Lucene聚类分组统计功能(grouping)
    Eclipse开发struts完全指南(三)实战
    缓存是什么?占内存吗?
    []利用memcached在多台服务器之间共享PHP的session数据
    HTML meta refresh 刷新与跳转(重定向)页面
    [置顶] 微信开发出现“该公众号暂时无法提供服务,请稍后再试”的坑
  • 原文地址:https://www.cnblogs.com/songxing10000/p/4459821.html
Copyright © 2020-2023  润新知