Я записал повторяющиеся события (EKEvent) в Календарь. Как я могу получить и изменить одно из этих повторяющихся событий в определенную дату?
События были созданы следующим кодом:
+ (void) writeTestEvent{
EKEventStore *eventStore = [[EKEventStore alloc] init];
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
event.calendar = [eventStore defaultCalendarForNewEvents];
event.title = @"Hello World!";
event.startDate = [NSDate date];
event.endDate = [NSDate date];
EKRecurrenceRule *recurrenceRule = [[EKRecurrenceRule alloc] initRecurrenceWithFrequency:EKRecurrenceFrequencyDaily interval:1 end:nil];
[event addRecurrenceRule:recurrenceRule];
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (granted) {
BOOL isSaved = [eventStore saveEvent:event span:EKSpanFutureEvents commit:YES error:&error];
NSLog(@"isSaved: (%d) with error: %@", isSaved, error);
} else {
NSLog(@"not granted with error: %@", error);
}
}];
}
Использование -predicateForEventsWithStartDate:endDate:calendars:
позволяет получить только события, попадающие в диапазон дат, а не конкретное событие. А с помощью идентификатора события получает только одно событие, но не с конкретной датой.