Introduction to Calendars and Reminders
The EventKit framework helps you access users’ Calendar and Reminders information. Although two different apps display users’ calendar and reminder data, the same framework manipulates the data. Similarly, the database that stores this data, called the Calendar database, holds both calendar and reminder information.
EventKit not only allows your app to retrieve users’ existing calendar and reminder data, but it also lets your app create new events and reminders for any of their calendars. In addition, EventKit lets users edit and delete their events and reminders (collectively known as “calendar items”). More advanced tasks, such as adding alarms or specifying recurring events, can be achieved with EventKit as well. If a change to the Calendar database occurs from outside of your app, EventKit is able to detect the change by notification so your app can act appropriately. Changes made to calendar items with EventKit are automatically synced to the associated calendar (CalDAV, Exchange, and so on).
This document describes EventKit concepts and common programming tasks. You should read this document if you want to display or edit calendar events and/or reminder data from within your app. EventKit provides limited access to a user’s Calendar database; it does not include everything that would be desired for implementing a full-featured calendar or reminder app, such as adding attendees or accounts.
At a Glance
This document contains the following chapters, which describe how to integrate with users’ calendar and reminder data within your app:
Reading and Writing Calendar Events explains how to retrieve, create, and modify calendar events.
Reading and Writing Reminders explains how to retrieve, create, and modify reminders.
Configuring Alarms explains how to attach alarms to a calendar item.
Creating Recurring Events explains how to make an event a recurring event.
Observing External Changes to the Calendar Database explains how to register for notifications regarding external changes to the Calendar database.
Providing Interfaces for Events explains how to display event view controllers to allow your users to create and edit events.
This document is a companion guide to the following references:
Event Kit Framework Reference provides an in-depth description of the EventKit API, a framework that grants access to a user’s Calendar database.
Event Kit UI Framework Reference details the EventKit UI API, an iOS-specific framework that provides view controllers for displaying and editing calendar events.