16.4. Removing Events from Calendars


You want to be able to delete a specific event or series of events from users’ calendars.


Use the removeEvent:span:commit:error: instance method of EKEventStore.


The removeEvent:span:commit:error: instance method of EKEventStore can remove an instance of an event or all instances of a recurring event. For more information about recurring events, please refer to Recipe 16.5. In this recipe, we will only remove an instance of the event and not the other instances of the same event in the calendar.

The parameters that we can pass to this method are:


This is the EKEvent instance to be removed from the calendar.


This is the parameter that tells the event store whether we want to remove only this event or all the occurrences of this event in the calendar. To remove only the current event, specify the EKSpanThisEvent value for the removeEvent parameter. To remove all occurrences of the same event from the calendar, pass the EKSpanFutureEvents value for the parameter.


A boolean value that tells the event store if the changes have to be saved on the remote/local calendar immediately or not.


This parameter can be given a reference to an NSError object that will be filled with the error (if any), when the return value of this method is NO.

To demonstrate this, let’s use the event creation method that we implemented in Recipe 16.2. What we can do then is to create an event in our Google CalDAV calendar and after ...

Get iOS 6 Programming Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.