如果我在1月4日星期一下午1:00安排通知,我希望它能够在星期一每周重复一次。根据这篇博客文章http://useyourloaf.com/blog/repeating-an-ios-local-notification.html,我认为NSWeekCalendarUnit
可以很好地运行,但不适用于iOS 8+。文档说明替换它是NSCalendarUnitWeekOfMonth
或NSCalendarUnitWeekOfYear
。如果我正确理解这一点,前者会在每个月的第一周重复通知,然后在每个月的第一周重复每年一次?或者我误解了什么?
localNotification.repeatInterval = NSWeekCalendarUnit; // Deprecated
答案 0 :(得分:1)
您可以这样做:
for (int i = 0; i< dateArray.count; i++) {
UILocalNotification *nextNotif = [yourOriginalNotifMonday mutableCopy];
nextNotif.fireDate = [mondayDate dateByAddingTimeInterval:i*ONE_WEEK];
// Schedule the notification
[[UIApplication sharedApplication] scheduleLocalNotification:nextNotif];
}
测试你的代码:
NSDate *mondayDate = [[NSDate date] dateByAddingTimeInterval:5.0];
const int ONE_WEEK = 2;//2 seconds instead of 7*ONE_DAY;
立即将您的应用置于后台。