本地推送 简单代码演示

 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合成服务器所使用的推送证书
原文地址:https://www.cnblogs.com/songxing10000/p/4459821.html