iOS本地推送簡單實(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;
}
}
以上就是本文的全部內(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)文章
UITableView中Cell重用機(jī)制導(dǎo)致內(nèi)容重復(fù)的解決方法
這篇文章主要為大家詳細(xì)介紹了UITableView中Cell重用機(jī)制導(dǎo)致內(nèi)容重復(fù)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Objective-C計(jì)時(shí)器NSTimer學(xué)習(xí)筆記
這篇文章主要為大家介紹了Objective-C計(jì)時(shí)器NSTimer的學(xué)習(xí)筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
iOS利用UIScrollView實(shí)現(xiàn)無限滾動(dòng)效果
這篇文章主要給大家介紹了iOS如何利用UIScrollView實(shí)現(xiàn)無限滾動(dòng)的效果,首先需要說明的是,文本所講的是一種"笨辦法",但是好理解且容易實(shí)現(xiàn),在圖片不多的時(shí)候用它也無妨。感興趣的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。2016-12-12
iOS 自定義返回按鈕保留系統(tǒng)滑動(dòng)返回功能
這篇文章主要介紹了iOS 自定義返回按鈕,保留系統(tǒng)滑動(dòng)返回功能,實(shí)現(xiàn)方法非常簡單,具有參考借鑒價(jià)值,需要的朋友參考下吧2017-01-01
ios之UIScrollerView滾動(dòng)視圖總結(jié)
本篇文章主要介紹了ios之UIScrollerView滾動(dòng)視圖總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
iOS實(shí)現(xiàn)支付寶螞蟻森林隨機(jī)按鈕及抖動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)支付寶螞蟻森林隨機(jī)按鈕及抖動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
iOS Runntime 動(dòng)態(tài)添加類方法并調(diào)用-class_addMethod
這篇文章主要介紹了iOS Runntime 動(dòng)態(tài)添加類方法并調(diào)用-class_addMethod的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08

