欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS本地推送简单实现代码

程序员文章站 2024-02-12 09:23:40
本文为大家分解介绍了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;
 }
}

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