---
title: EventKit
framework: EventKit
role: collection
role_heading: Framework
platforms: [iOS 4.0+, iPadOS 4.0+, Mac Catalyst 13.1+, macOS 10.8+, visionOS 1.0+, watchOS 2.0+]
path: eventkit
---

# EventKit

Create, view, and edit calendar and reminder events.

## Overview

Overview The EventKit framework provides access to calendar and reminders data so people can create, retrieve, and edit calendar items in your app. In iOS, EventKit UI provides user interfaces you can implement in your app so people can create and edit calendar items. You can use EventKit to set up alarms and create recurring events. And if a change to the Calendar database occurs from outside your app, EventKit detects the change and sends a notification, allowing your app to stay up to date.

## Topics

### Essentials

- [Accessing the event store](eventkit/accessing-the-event-store.md)
- [EKEventStore](eventkit/ekeventstore.md)
- [Accessing Calendar using EventKit and EventKitUI](eventkit/accessing-calendar-using-eventkit-and-eventkitui.md)

### Events and reminders

- [Creating events and reminders](eventkit/creating-events-and-reminders.md)
- [Retrieving events and reminders](eventkit/retrieving-events-and-reminders.md)
- [Updating with notifications](eventkit/updating-with-notifications.md)
- [Managing location-based reminders](eventkit/managing-location-based-reminders.md)
- [EKEvent](eventkit/ekevent.md)
- [EKReminder](eventkit/ekreminder.md)

### Calendars

- [EKCalendar](eventkit/ekcalendar.md)
- [EKParticipant](eventkit/ekparticipant.md)

### Recurrence

- [Creating a recurring event](eventkit/creating-a-recurring-event.md)
- [EKRecurrenceDayOfWeek](eventkit/ekrecurrencedayofweek.md)
- [EKRecurrenceEnd](eventkit/ekrecurrenceend.md)
- [EKRecurrenceRule](eventkit/ekrecurrencerule.md)

### Alarms

- [Setting an alarm](eventkit/setting-an-alarm.md)
- [EKAlarm](eventkit/ekalarm.md)
- [EKStructuredLocation](eventkit/ekstructuredlocation.md)

### Common objects

- [EKCalendarItem](eventkit/ekcalendaritem.md)
- [EKObject](eventkit/ekobject.md)
- [EKSource](eventkit/eksource.md)

### Virtual conferences

- [Implementing a virtual conference extension](eventkit/implementing-a-virtual-conference-extension.md)
- [EKVirtualConferenceProvider](eventkit/ekvirtualconferenceprovider.md)
- [EKVirtualConferenceDescriptor](eventkit/ekvirtualconferencedescriptor.md)
- [EKVirtualConferenceRoomTypeDescriptor](eventkit/ekvirtualconferenceroomtypedescriptor.md)

### Errors

- [EKError](eventkit/ekerror.md)
- [EKError.Code](eventkit/ekerror/code.md)
- [EKErrorDomain](eventkit/ekerrordomain.md)
