Introduction to Calendars and Reminders
The Event Kit framework grants access to users’
Reminders.app 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.
Event Kit 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, Event Kit 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 Event Kit as well. If a change to the Calendar database occurs from outside of your app, Event Kit is able to detect the change by notification so your app can act appropriately. Changes made to calendar items with Event Kit are automatically synced to the associated calendar (CalDAV, Exchange, and so on).
This document describes Event Kit 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. Event Kit 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 sample code and references:
SimpleEKDemo is an example sample code project that utilizes events in Event Kit.
Event Kit Framework Reference provides an in-depth description of the Event Kit API, a framework that grants access to a user’s Calendar database.
Event Kit UI Framework Reference details the Event Kit UI API, an iOS-specific framework that provides view controllers for displaying and editing calendar events.