How to set repeat frequency in User Notification [duplicate] How to set repeat frequency in User Notification [duplicate] objective-c objective-c

How to set repeat frequency in User Notification [duplicate]


For iOS 10 you can use like this:

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:fireDate];UNCalendarNotificationTrigger* trigger = [UNCalendarNotificationTrigger triggerWithDateMatchingComponents:components repeats:YES];

it has the same effect from the iOS 9 code. To repeat you just have to use the components that you want to repeat.


inspired by @Ramon Vasconcelos, I'm using the following code for setting up intervals and fireDate together

switch (interval) {    case NSCalendarUnitMinute: {        unitFlags = NSCalendarUnitSecond;        break;    }    case NSCalendarUnitHour: {        unitFlags = NSCalendarUnitMinute | NSCalendarUnitSecond;        break;    }    case NSCalendarUnitDay: {        unitFlags = NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;        break;    }    case NSCalendarUnitWeekOfYear: {        unitFlags = NSCalendarUnitWeekday | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;        break;    }    case NSCalendarUnitMonth:{        unitFlags = NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;    }    case NSCalendarUnitYear:{        unitFlags = NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;    }    default:        unitFlags = NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;        break;}NSDateComponents *components = [[NSCalendar currentCalendar] components:unitFlags fromDate:fireDate];UNCalendarNotificationTrigger *trigger = [UNCalendarNotificationTrigger triggerWithDateMatchingComponents:components repeats:interval != 0];