/**
* 本地推送
应用场景:一般用于不需要网络提醒的情况
比如:游戏的每日任务,一到8点就准时提醒,双倍时刻开启,快来登陆哦
书籍类应用:你有多少天没看书了,要学习哦
健康类:亲~你吃药了吗,不要放弃治疗
恶搞类:在你分手的女朋友上安装一个软件,3个月后,自动开启xx约你开黑
硬件类:与蓝牙连接,当程序在后台时,与蓝牙断开,需要一个提示,告诉用户,蓝牙连接断开
*/
//创建一个本地推送
UILocalNotification *local = [[UILocalNotification alloc]init];
//设置推送内容
local.alertBody= @"惊叫大王,凤姐还未出嫁,不要放弃治疗";
//设置声音,这个声音需要小于30s,并且你本地有这个声音
local.soundName = @"";
//设置红色表示,用来显示多少条新的通知
local.applicationIconBadgeNumber = 1000;
//设置开始时间
local.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
//把推送通知加入推送队列中,需要注意,推送通知加入以后,程序就算被杀掉,推送通知仍然可以运行
//如果要弹出推送通知,需要程序退出后台,快捷键command+shift+h
[[UIApplication sharedApplication]scheduleLocalNotification:local];
//ios8本地推送通知,添加一个授权方法
if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]) {
[application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
}
//如何删除一个推送通知
// //首先要获取推送
// NSArray *localArray = [[UIApplication sharedApplication]scheduledLocalNotifications];
// //遍历通知
// for (UILocalNotification *notification in localArray) {
// if ([notification.alertBody isEqualToString:@"惊叫大王,凤姐还未出嫁,不要放弃治疗"]) {
// //删除该通知
// [[UIApplication sharedApplication] cancelAllLocalNotifications];
// }
// }
//
// //删除所有通知
// [[UIApplication sharedApplication] cancelAllLocalNotifications];
//
/**
* 本地推送的加入方式,比如判断,3天没来,每次程序启动,把原来的旧通知删除,并且计算3天后时间
NSInteger num = [UIApplication sharedApplication].applicationIconBadgeNumber;
num+=1;
local.applicationIconBadgeNumber = num;
*/
* 本地推送
应用场景:一般用于不需要网络提醒的情况
比如:游戏的每日任务,一到8点就准时提醒,双倍时刻开启,快来登陆哦
书籍类应用:你有多少天没看书了,要学习哦
健康类:亲~你吃药了吗,不要放弃治疗
恶搞类:在你分手的女朋友上安装一个软件,3个月后,自动开启xx约你开黑
硬件类:与蓝牙连接,当程序在后台时,与蓝牙断开,需要一个提示,告诉用户,蓝牙连接断开
*/
//创建一个本地推送
UILocalNotification *local = [[UILocalNotification alloc]init];
//设置推送内容
local.alertBody= @"惊叫大王,凤姐还未出嫁,不要放弃治疗";
//设置声音,这个声音需要小于30s,并且你本地有这个声音
local.soundName = @"";
//设置红色表示,用来显示多少条新的通知
local.applicationIconBadgeNumber = 1000;
//设置开始时间
local.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
//把推送通知加入推送队列中,需要注意,推送通知加入以后,程序就算被杀掉,推送通知仍然可以运行
//如果要弹出推送通知,需要程序退出后台,快捷键command+shift+h
[[UIApplication sharedApplication]scheduleLocalNotification:local];
//ios8本地推送通知,添加一个授权方法
if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]) {
[application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
}
//如何删除一个推送通知
// //首先要获取推送
// NSArray *localArray = [[UIApplication sharedApplication]scheduledLocalNotifications];
// //遍历通知
// for (UILocalNotification *notification in localArray) {
// if ([notification.alertBody isEqualToString:@"惊叫大王,凤姐还未出嫁,不要放弃治疗"]) {
// //删除该通知
// [[UIApplication sharedApplication] cancelAllLocalNotifications];
// }
// }
//
// //删除所有通知
// [[UIApplication sharedApplication] cancelAllLocalNotifications];
//
/**
* 本地推送的加入方式,比如判断,3天没来,每次程序启动,把原来的旧通知删除,并且计算3天后时间
NSInteger num = [UIApplication sharedApplication].applicationIconBadgeNumber;
num+=1;
local.applicationIconBadgeNumber = num;
*/
#pragma mark -- 本地推送通知的代理方法
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{
NSLog(@"receiveLocalNotification");
//希望徽标归0
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}