iOS本地推送简单实现代码
程序员文章站
2023-12-16 08:29:16
本文为大家分解介绍了ios本地推送代码的三步骤,供大家参考,具体内容如下
第一步:创建本地推送
// 创建一个本地推送
uilocalnotificati...
本文为大家分解介绍了ios本地推送代码的三步骤,供大家参考,具体内容如下
第一步:创建本地推送
// 创建一个本地推送 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]; }
第二步:接收本地推送
- (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; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。