- (IBAction)ok:(id)sender {
//初始化本地通知的对象
UILocalNotification *loacl =[[UILocalNotification alloc]init];
if (loacl) {
// 设置通知时间
NSDate *current =[NSDate date];
// 使用本地时区
loacl.timeZone =[NSTimeZone defaultTimeZone];
// 设置发送通知后接收到的时间
loacl.fireDate =[current dateByAddingTimeInterval:2.0];
//设置发送重复时间
loacl.repeatInterval = kCFCalendarUnitDay;
// 设置推送内容,提示
loacl.alertBody =@"嗨,梅曹伟小朋友";
//设置居中推送方式时按钮
loacl.alertAction =NSLocalizedString(@"好的", nil);
// 设置推送声音
loacl.soundName =UILocalNotificationDefaultSoundName;
// 边角显示提示数量
loacl.applicationIconBadgeNumber++;
NSLog(@"%li",(long)loacl.applicationIconBadgeNumber);
//设置通知的userinfo标识该通知
loacl.userInfo =@{@"key":@"1"};
// 将他添加到系统中
[[UIApplication sharedApplication]scheduleLocalNotification:loacl];
}
}
可以在点击载入视图中设置此代码让其提示边角初始化为0
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//判断是否为ios8版本以上
if ([[[UIDevice currentDevice]systemVersion]doubleValue]>8.0) {
UIUserNotificationSettings *settings =[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert categories:nil];
[application registerUserNotificationSettings:settings];
}
return YES;
}
//收到本地推送时出发
//如果软件在前台 收到就会触发,如果实在后台 需要点开通知后才会触发
//如果程序关闭点击通知不会走该方法
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{
// NSLog(@"%@",notification);
// 根据userinfo的key对应的值区分是哪个通知该执行哪个方法
if([[notification.userInfo objectForKey:@"key"]integerValue] ==0){
NSLog(@"push view 01");
}else if([[notification.userInfo objectForKey:@"key"]integerValue] ==1){
NSLog(@"push view 02");
}
}