IOS - 本地消息推送
生活随笔
收集整理的這篇文章主要介紹了
IOS - 本地消息推送
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
第一步:創(chuàng)建本地推送
// 創(chuàng)建一個(gè)本地推送
UILocalNotification *notification = [[[UILocalNotification alloc] init] autorelease];
//設(shè)置10秒之后
NSDate *pushDate = [NSDate dateWithTimeIntervalSinceNow:10];
??? // 設(shè)置推送時(shí)間
??? notification.fireDate = pushDate;
??? // 設(shè)置時(shí)區(qū)
??? notification.timeZone = [NSTimeZone defaultTimeZone];
??? // 設(shè)置重復(fù)間隔
??? notification.repeatInterval = kCFCalendarUnitDay;
??? // 推送聲音
??? notification.soundName = UILocalNotificationDefaultSoundName;
??? // 推送內(nèi)容
??? notification.alertBody = @"推送內(nèi)容";
??? //顯示在icon上的紅色圈中的數(shù)子
??? notification.applicationIconBadgeNumber = 1;
??? //設(shè)置userinfo 方便在之后需要撤銷的時(shí)候使用
??? NSDictionary *info = [NSDictionary dictionaryWithObject:@"name"forKey:@"key"];
??? notification.userInfo = info;
??? //添加推送到UIApplication???????
??? UIApplication *app = [UIApplication sharedApplication];
??? [app scheduleLocalNotification:notification];?
???
}
第二步:接收本地推送
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification{
??? UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"iWeibo" message:notification.alertBody delegate:nil cancelButtonTitle:@"確定" otherButtonTitles:nil];
??? [alert show];
??? // 圖標(biāo)上的數(shù)字減1
??? application.applicationIconBadgeNumber -= 1;
}
第三步:解除本地推送
// 獲得 UIApplication
UIApplication *app = [UIApplication sharedApplication];
//獲取本地推送數(shù)組
NSArray *localArray = [app scheduledLocalNotifications];
//聲明本地通知對(duì)象
UILocalNotification *localNotification;
if (localArray) {
??? for (UILocalNotification *noti in localArray) {
??????? NSDictionary *dict = noti.userInfo;
??????? if (dict) {
??????????? NSString *inKey = [dict objectForKey:@"key"];
??????????? if ([inKey isEqualToString:@"對(duì)應(yīng)的key值"]) {
??????????????? if (localNotification){
??????????????????? [localNotification release];
??????????????????? localNotification = nil;
??????????????? }
??????????????? localNotification = [noti retain];
??????????????? break;
??????????? }
??????? }
??? }
???
??? //判斷是否找到已經(jīng)存在的相同key的推送
??? if (!localNotification) {
??????? //不存在初始化
??????? localNotification = [[UILocalNotification alloc] init];
??? }
???
??? if (localNotification) {
??????? //不推送 取消推送
??????? [app cancelLocalNotification:localNotification];
??????? [localNotification release];
??????? return;
??? }
}
轉(zhuǎn)載于:https://www.cnblogs.com/mcj-coding/p/3565439.html
總結(jié)
以上是生活随笔為你收集整理的IOS - 本地消息推送的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符串的压缩【百度】
- 下一篇: C语言经典算法100例-022-乒乓球比