当前位置: 移动技术网 > 移动技术>移动开发>IOS > iOS本地推送简单实现代码

iOS本地推送简单实现代码

2019年07月24日  | 移动技术网移动技术  | 我要评论

本文为大家分解介绍了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;
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网