I have a requirement in which I need to alert user say after every one day or after every two days and so on, even if application is not running.
I checked UILocalNotfication class where we have a property: repeatInterval. Here we can pass one of these values:
NSEraCalendarUnit = kCFCalendarUnitEra,
NSYearCalendarUnit = kCFCalendarUnitYear,
NSMonthCalendarUnit = kCFCalendarUnitMonth,
NSDayCalendarUnit = kCFCalendarUnitDay,
NSHourCalendarUnit = kCFCalendarUnitHour,
NSMinuteCalendarUnit = kCFCalendarUnitMinute,
NSSecondCalendarUnit = kCFCalendarUnitSecond,
NSWeekCalendarUnit = kCFCalendarUnitWeek,
NSWeekdayCalendarUnit = kCFCalendarUnitWeekday,
NSWeekdayOrdinalCalendarUnit = kCFCalendarUnitWeekdayOrdinal,
NSQuarterCalendarUnit = kCFCalendarUnitQuarter,
NSWeekOfMonthCalendarUnit = kCFCalendarUnitWeekOfMonth,
NSWeekOfYearCalendarUnit = kCFCalendarUnitWeekOfYear,
NSYearForWeekOfYearCalendarUnit = kCFCalendarUnitYearForWeekOfYear
NSCalendarCalendarUnit = (1 << 20),
NSTimeZoneCalendarUnit = (1 << 21)
So if I need to schedule a notification every day I can use NSDayCalendarUnit, but I found no way to schedule it alternatively.
If app is running I can fire a new notification in applicationDidRecieveLocalNotification
with fireDate as [[NSDate date] dateByAddingTimeInterval:48*60*60]
, but in my case I need to support it even if app is not running :-(
Please suggest.