Platforms to show: All Mac Windows Linux Cross-Platform

EKEventStoreMBS class

Super class: EKObjectMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
class Calendar MBS Mac64bit Plugin 15.3 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
An instance of the EKEventStore class represents the Calendar database.

It is an application’s point of contact for accessing calendar and reminder data.

You must request access to an entity type after the event store is initialized with requestAccessToEntityType for data to return.

Acceptable entity types are EKEntityMaskEvent for events and EKEntityMaskReminder for reminders.
Create a predicate, or a search query for events, with the predicateForEventsWithStartDate method.
Fetch and process events that match a given predicate with the eventsMatchingPredicate: and enumerateEventsMatchingPredicate methods.
Save and delete events from the event store with the saveEvent and removeEvent methods.
Subclass of the EKObjectMBS class.

Authorization Status

Constant Value Description
kAuthorizationStatusAuthorized 3 The app is authorized to access the service.
kAuthorizationStatusDenied 2 The user explicitly denied access to the service for the app.
kAuthorizationStatusNotDetermined 0 The user has not yet made a choice regarding whether the app may access the service.
kAuthorizationStatusRestricted 1 The app is not authorized to access the service. The user cannot change this app’s authorization status, possibly due to active restrictions such as parental controls being in place.

Entity Mask

Constant Value Description
kEntityMaskEvent 1 Event
kEntityMaskReminder 2 Reminder


Constant Value Description
kEntityTypeEvent 0 Entity Event
kEntityTypeReminder 1 Entity Reminder


Constant Value Description
kErrorAlarmGreaterThanRecurrence 8 The alarm interval is greater than the recurrence interval.
kErrorAlarmProximityNotSupported 21 The source does not allow geofences on alarms.
kErrorCalendarDoesNotAllowEvents 22 The calendar does not allow events to be added.
kErrorCalendarDoesNotAllowReminders 23 The calendar does not allow reminders to be added.
kErrorCalendarHasNoSource 14 The calendar cannot be saved with no source set.
kErrorCalendarIsImmutable 16 The calendar is immutable and cannot be modified or deleted.
kErrorCalendarReadOnly 6 The calendar is read-only and cannot have events added to it.
kErrorCalendarSourceCannotBeModified 15 The calendar cannot be moved to another source.
kErrorDatesInverted 4 The event’s end date occurs before its start date.
kErrorDurationGreaterThanRecurrence 7 The duration of an event is greater than its recurrence interval.
kErrorEventNotMutable 0 The event is not mutable and cannot be saved or deleted.
kErrorInternalFailure 5 An internal error occurred.
kErrorInvalidSpan 13 An invalid span was passed when saving or deleting.
kErrorInvitesCannotBeMoved 12 The event cannot be moved because it is an invite.
kErrorNoCalendar 1 The event is not associated with a calendar.
kErrorNoEndDate 3 The event has no end date set.
kErrorNoStartDate 2 The event has no start date set.
kErrorObjectBelongsToDifferentStore 11 The object belongs to a different calendar store.
kErrorRecurringReminderRequiresDueDate 18 The recurring reminder requires a due date.
kErrorReminderLocationsNotSupported 20 The source doesn't support locations on reminders.
kErrorSourceDoesNotAllowCalendarAddDelete 17 The source doesn’t allow calendars to be added or deleted.
kErrorSourceDoesNotAllowEvents 25 The source does not allow calendars supporting event entity types.
kErrorSourceDoesNotAllowReminders 24 The source does not allow calendars supporting reminder entity types.
kErrorStartDateCollidesWithOtherOccurrence 10 The event’s start date collides with another occurrence of the event.
kErrorStartDateTooFarInFuture 9 The start date is further into the future than the calendar can display.
kErrorStructuredLocationsNotSupported 19 The source to which this calendar belongs does not support structured locations.

Event Span

Constant Value Description
kSpanFutureEvents 1 Modifications to this event instance should also affect future instances of this event.
kSpanThisEvent 0 Modifications to this event instance should affect only this instance.

Week Days

Constant Value Description
kWeekDayFriday 6 Friday
kWeekDayMonday 2 Monday
kWeekDaySaturday 7 Saturday
kWeekDaySunday 1 Sunday
kWeekDayThursday 5 Thursday
kWeekDayTuesday 3 Tuesday
kWeekDayWednesday 4 Wednesday

Super class EKObjectMBS

This class has no sub classes.

Some methods using this class:

Some examples using this class:

Blog Entries

Release notes

  • Version 24.1
    • Added requestWriteOnlyAccessToEvents, requestFullAccessToReminders and requestFullAccessToEvents to EKEventStoreMBS class.
  • Version 22.0
  • Version 18.1
    • Added eventsWithExternalIdentifier, fetchRemindersMatchingPredicateSync, remindersWithExternalIdentifier and reminderWithIdentifier functions to EKEventStoreMBS class.

The items on this page are in the following plugins: MBS Mac64bit Plugin.

EKEventMBS   -   EKFetchRequestMBS

💬 Ask a question or report a problem
The biggest plugin in space...