Не могу удалить один ekevent повторяющегося события в календаре iOS

Я разработал приложение, которое использует календарь с помощью EventKit.

Пользователь может нажать кнопку и удалить конкретное событие. Все работает просто отлично, кроме случаев, когда речь идет о повторяющихся событиях.

Если пользователь сам создал повторяющиеся события, он работает должным образом, одно событие удаляется, а остальные остаются в календаре. Но если повторяющиеся события создаются другим и принимаются пользователем, а затем пытаются удалить одно конкретное из этих событий, все они исчезают из календаря. Зачем?

В этом случае iPad использует только один календарь Exchange. Может ли проблема быть связана с Exchange?

/* Get the Exchange Calendar */  
EKEventStore* store = [[EKEventStore alloc] init];  
NSError* error = nil;  
NSMutableArray* calendars = [[store calendarsForEntityType:EKEntityTypeEvent] mutableCopy];  
NSMutableArray* cals = [[NSMutableArray alloc] init];  
for (EKCalendar *cal in calendars) {  
     if (cal.type == EKCalendarTypeExchange) {  
          [cals addObject:cal];  
          break;  
     }  
}  
/* get the correct event, get Events with startDate & endDate and differ with eventId */  
// (tappedEvent = event to remove)  
NSPredicate *predicate = [store predicateForEventsWithStartDate:[tappedEvent valueForKey:@"from"] endDate:[tappedEvent valueForKey:@"to"] calendars:cals];  
NSArray *theEvents=[store eventsMatchingPredicate:predicate];  
NSString *recurrenceEventIdentifier = [tappedEvent valueForKey:@"appID"];  
for(EKEvent * theEvent in theEvents){  
     if([theEvent.eventIdentifier isEqualToString: recurrenceEventIdentifier] && ![store removeEvent:theEvent span:EKSpanThisEvent error:&error]){  
          NSLog(@"Error in removing event: %@",error);  
     }  
}  
[store commit:&error];  
if(error){  
     ...  
} 

0 ответов

Другие вопросы по тегам