IOS - 本地消息推送
生活随笔
收集整理的這篇文章主要介紹了
IOS - 本地消息推送
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一步:創建本地推送
// 創建一個本地推送
UILocalNotification *notification = [[[UILocalNotification alloc] init] autorelease];
//設置10秒之后
NSDate *pushDate = [NSDate dateWithTimeIntervalSinceNow:10];
??? // 設置推送時間
??? 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];?
???
}
第二步:接收本地推送
- (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;
}
第三步:解除本地推送
// 獲得 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;
??? }
}
轉載于:https://www.cnblogs.com/mcj-coding/p/3565439.html
總結
以上是生活随笔為你收集整理的IOS - 本地消息推送的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符串的压缩【百度】
- 下一篇: C语言经典算法100例-022-乒乓球比