iOS本地推送簡(jiǎn)單實(shí)現(xiàn)代碼
本文為大家分解介紹了iOS本地推送代碼的三步驟,供大家參考,具體內(nèi)容如下
第一步:創(chuàng)建本地推送
// 創(chuàng)建一個(gè)本地推送
UILocalNotification *notification = [[[UILocalNotification alloc] init] autorelease];
//設(shè)置10秒之后
NSDate *pushDate = [NSDate dateWithTimeIntervalSinceNow:10];
if (notification != nil) {
// 設(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;
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- iOS消息推送原理及具體實(shí)現(xiàn)代碼
- iOS開發(fā)之(APNS)遠(yuǎn)程推送實(shí)現(xiàn)代碼 附證書與真機(jī)調(diào)試
- iPhone/iPad開發(fā)通過LocalNotification實(shí)現(xiàn)iOS定時(shí)本地推送功能
- iOS10添加本地推送(Local Notification)實(shí)例
- iOS推送之本地通知UILocalNotification
- 使用iOS推送時(shí)警告錯(cuò)誤的解決方法
- iOS10 推送最新特性研究
- iOS仿支付寶芝麻信用分?jǐn)?shù)儀表盤動(dòng)畫效果
- iOS逆向工程使用LLDB的USB連接調(diào)試第三方App
- IOS 仿時(shí)光網(wǎng)選票UI實(shí)例代碼
相關(guān)文章
IOS中UITextView或UITextField字?jǐn)?shù)限制的實(shí)現(xiàn)
這篇文章主要介紹了IOS中UITextView或UITextField字?jǐn)?shù)限制的實(shí)現(xiàn)的相關(guān)資料,希望通過本文能幫助到大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10
iOS開發(fā)中使app獲取本機(jī)通訊錄的實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了iOS開發(fā)中使app獲取本機(jī)通訊錄的實(shí)現(xiàn)代碼實(shí)例,主要用到了AddressBook.framework和AddressBookUI.framework,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-01-01
IOS 實(shí)現(xiàn)3D 浮動(dòng)效果動(dòng)畫
這篇文章主要介紹了IOS 實(shí)現(xiàn)3D 浮動(dòng)效果動(dòng)畫的相關(guān)資料,需要的朋友可以參考下2016-09-09
詳解iOS開發(fā)中的轉(zhuǎn)場(chǎng)動(dòng)畫和組動(dòng)畫以及UIView封裝動(dòng)畫
這篇文章主要介紹了iOS開發(fā)中的轉(zhuǎn)場(chǎng)動(dòng)畫和組動(dòng)畫以及UIView封裝動(dòng)畫,主要用到了CAAnimation類和UIView類,需要的朋友可以參考下2015-11-11
UITextView實(shí)現(xiàn)只允許鏈接交互不允許選擇圖片的方法
這篇文章主要介紹了UITextView實(shí)現(xiàn)只允許鏈接交互不允許選擇圖片的方法,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-03-03
iOS UICollectionView刷新時(shí)閃屏的解決方法
本篇文章主要介紹了iOS UICollectionView刷新時(shí)閃屏的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
iOS的CoreAnimation開發(fā)框架中的Layer層動(dòng)畫制作解析
在iOS中UIView層的屬性會(huì)映射到CoreAnimation框架的CALayer,這里我們來看一下iOS的CoreAnimation開發(fā)框架中的Layer層動(dòng)畫制作解析,需要的朋友可以參考下2016-07-07

