本文为大家分解介绍了iOS本地推送代码的三步骤,供大家参考,具体内容如下
第一步:创建本地推送
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
// 创建一个本地推送 UILocalNotification *notification = [[[UILocalNotification alloc] init] autorelease]; //设置10秒之后 NSDate *pushDate = [NSDate dateWithTimeIntervalSinceNow:10]; if (notification != nil) { // 设置推送时间 notification.fireDate = pushDate; // 设置时区 notification.timeZone = [NSTimeZone defaultTimeZone]; // 设置重复间隔 notification.repeatInterval = kCFCalendarUnitDay; // 推送声音 notification.soundName = UILocalNotificationDefaultSoundName; // 推送内容 notification.alertBody = @ "推送内容" ; //显示在icon上的红色圈中的数子 notification.applicationIconBadgeNumber = 1; //设置userinfo 方便在之后需要撤销的时候使用 NSDictionary *info = [NSDictionary dictionaryWithObject:@ "name" forKey:@ "key" ]; notification.userInfo = info; //添加推送到UIApplication UIApplication *app = [UIApplication sharedApplication]; [app scheduleLocalNotification:notification]; } |
第二步:接收本地推送
1
2
3
4
5
6
|
- ( void )application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@ "iWeibo" message:notification.alertBody delegate:nil cancelButtonTitle:@ "确定" otherButtonTitles:nil]; [alert show]; // 图标上的数字减1 application.applicationIconBadgeNumber -= 1; } |
第三步:解除本地推送
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
// 获得 UIApplication UIApplication *app = [UIApplication sharedApplication]; //获取本地推送数组 NSArray *localArray = [app scheduledLocalNotifications]; //声明本地通知对象 UILocalNotification *localNotification; if (localArray) { for (UILocalNotification *noti in localArray) { NSDictionary *dict = noti.userInfo; if (dict) { NSString *inKey = [dict objectForKey:@ "key" ]; if ([inKey isEqualToString:@ "对应的key值" ]) { if (localNotification){ [localNotification release]; localNotification = nil; } localNotification = [noti retain]; break ; } } } //判断是否找到已经存在的相同key的推送 if (!localNotification) { //不存在初始化 localNotification = [[UILocalNotification alloc] init]; } if (localNotification) { //不推送 取消推送 [app cancelLocalNotification:localNotification]; [localNotification release]; return ; } } |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。