iOS开发本地通知(每天3点半发送消息推送)
NSDate now = [NSDate date];
//取得系统时间
NSCalendar calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *components = [[NSDateComponents alloc] init];
NSInteger unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitWeekday | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
components = [calendar components:unitFlags fromDate:now];
NSInteger hour = [components hour];
NSInteger min = [components minute];
NSInteger sec = [components second];
NSInteger week = [components weekday];
NSLog(@"现在是%ld:%ld:%ld,周%ld",hour,min,sec,week);
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
//设置时区(跟随手机的时区)
localNotification.timeZone = [NSTimeZone defaultTimeZone];
if (localNotification) {
localNotification.alertBody = @"消息推送消息推送"; localNotification.alertAction = @"打开"; //小图标数字 localNotification.applicationIconBadgeNumber = 0; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"HH:mm:ss"]; NSDate *date = [formatter dateFromString:@"15:30:00"]; //通知发出的时间 localNotification.fireDate = date; } //循环通知的周期 localNotification.repeatInterval = kCFCalendarUnitDay; //设置userinfo方便撤销 NSDictionary *info = [NSDictionary dictionaryWithObject:@"name" forKey:@"key"]; localNotification.userInfo = info; //启动任务 [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; */ /* for (UILocalNotification *obj in [UIApplication sharedApplication].scheduledLocalNotifications) { if ([obj.userInfo.allKeys containsObject:kLocalNotificationKey]) { [[UIApplication sharedApplication] cancelLocalNotification:obj]; } } // 设置一个按照固定时间的本地推送 NSDate *now = [NSDate date]; //取得系统时间 NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [[NSDateComponents alloc] init]; NSInteger unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitWeekday | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond; components = [calendar components:unitFlags fromDate:now]; NSInteger hour = [components hour]; NSInteger min = [components minute]; NSInteger sec = [components second]; NSInteger week = [components weekday]; WDLog(@"现在是%ld:%ld:%ld,周%ld",hour,min,sec,week); UILocalNotification *localNotification = [[UILocalNotification alloc] init]; //设置时区(跟随手机的时区) localNotification.timeZone = [NSTimeZone defaultTimeZone]; if (localNotification) { localNotification.alertBody = @"消息推送消息推送"; localNotification.alertAction = @"打开"; //小图标数字 localNotification.applicationIconBadgeNumber = 0; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"HH:mm:ss"]; NSDate *date = [formatter dateFromString:@"15:30:00"]; //通知发出的时间 localNotification.fireDate = date; } //循环通知的周期 localNotification.repeatInterval = kCFCalendarUnitDay; //设置userinfo方便撤销 NSDictionary *info = [NSDictionary dictionaryWithObject:@"name" forKey:@"key"]; localNotification.userInfo = info; //启动任务 [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; */ /* for (UILocalNotification *obj in [UIApplication sharedApplication].scheduledLocalNotifications) { if ([obj.userInfo.allKeys containsObject:kLocalNotificationKey]) { [[UIApplication sharedApplication] cancelLocalNotification:obj]; } } //直接取消全部本地通知 //[[UIApplication sharedApplication] cancelAllLocalNotifications];