iPhone/iPad开发通过LocalNotification实现iOS定时本地推送功能

时间:2022-12-07 16:46:33

通过iOS的UILocalNotification Class可以实现本地app的定时推送功能,即使当前app是后台关闭状态。 

可以实现诸如,设置app badgenum,弹出一个alert,播放声音等等,实现很简单 

?
1
2
3
4
5
6
7
8
9
10
UILocalNotification *notification=[[UILocalNotification alloc] init];
 if (notification!=nil) {
  NSDate *now=[NSDate new];
  notification.fireDate=[now dateByAddingTimeInterval:15];
  notification.timeZone=[NSTimeZone defaultTimeZone];
  notification.alertBody=@"定时推送通知!";
  notification.soundName = @"default";
  [notification setApplicationIconBadgeNumber:22];
  [[UIApplication sharedApplication] scheduleLocalNotification:notification];
 }

 写了一个demo,大家直接看demo就一目了然了,很方便,在适当场合使用还是蛮实用的~

源代码链接:https://github.com/andypan1314/LocalNotificationTest

iOS 设置每天下午4点推送本地通知

?
1
2
3
4
5
6
7
8
9
10
11
12
UILocalNotification *notification=[[UILocalNotification alloc] init];
 if (notification!=nil) {//判断系统是否支持本地通知
  notification.fireDate = [NSDate dateWithTimeIntervalSince1970:16*60*60*24];//本次开启立即执行的周期
  notification.repeatInterval=kCFCalendarUnitWeekday;//循环通知的周期
  notification.timeZone=[NSTimeZone defaultTimeZone];
  notification.alertBody=@"哇哇哇";//弹出的提示信息
  notification.applicationIconBadgeNumber=0; //应用程序的右上角小数字
  notification.soundName= UILocalNotificationDefaultSoundName;//本地化通知的声音
//notification.alertAction = NSLocalizedString(@"美女呀", nil); //弹出的提示框按钮
  notification.hasAction = NO;
  [[UIApplication sharedApplication] scheduleLocalNotification:notification];
 }

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