In the EKCalendarItem Class link using the calendarItemExternalIdentifier property you will find this
Duplicate event identifiers are the same for all occurrences. If you want to distinguish between occurrences, you can use the start date
So you want to remove only the repetition, you should do something like this:
NSPredicate *predicate = [eventStore predicateForEventsWithStartDate:startDate endDate:endDate calendars:calendars];
NSArray *theEvents = [eventStore eventsMatchingPredicate:predicate];
NSString *recurrenceEventIdentifier;
for(EKEvent * theEvent in theEvents)
{
if([theEvent.eventIdentifier isEqualToString: recurrenceEventIdentifier]
&& ![eventStore removeEvent:theEvent span:EKSpanThisEvent error:&error])
{
NSLog(@"Error in removing event: %@",error);
}
}
. , "span" EKSpanFutureEvents.
EDIT: , .