我想每周三下午6点重复一次本地通知消息 .
我该怎么办?
目前我使用以下代码 . 但即使我尝试,此时也没有任何事情发生 . 我记录了UIDate,它显示我0001-01-01 17:25:52 . 我想通了,这是一个错误的时区 . 我在CEST时区 . 我该怎么改变?
- (void)applicationDidEnterBackground:(UIApplication *)application {
//Calendar
NSCalendar *gregCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *dateCompnent = [gregCalendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitWeekday fromDate:[NSDate date]];
[dateCompnent setWeekday:4];
[dateCompnent setHour:18];
[dateCompnent setMinute:00];
UIDatePicker *dd = [[UIDatePicker alloc] init];
[dd setDate:[gregCalendar dateFromComponents:dateCompnent]];
//Notification
UILocalNotification *notification = [[UILocalNotification alloc] init];
[notification setAlertBody:@"Test Notification"];
[notification setFireDate:dd.date];
[notification setSoundName:@"sound.mp3"];
[notification setTimeZone:[NSTimeZone defaultTimeZone]];
[application setScheduledLocalNotifications:[NSArray arrayWithObject:notification]];
}
1 回答
您需要在日期组件中添加年,月和日 .
另请参阅此博客文章以了解重复本地通知的安排 .
http://useyourloaf.com/blog/2010/09/13/repeating-an-ios-local-notification.html