Who Should Read This Document?
Organization of This Document
See Also
Calendar Store is a framework that allows Cocoa applications to access iCal data. You can fetch iCal records—such as calendars, events, and tasks—and receive notifications when these records change in iCal. You can also make some local changes to records and save them to the Calendar Store database. This document describes Calendar Store concepts and common programming tasks.
Warning: If your application uses the Sync Services and Calendar Store frameworks together, then you should not use Sync Services to sync data shared with the Calendar Store framework. The Calendar Store framework already syncs its records with Sync Services, so applications sharing the Calendar Store data do not have to (and should not) sync those records. The results are unpredictable and may result in data loss, if you attempt to sync the same data as the Calendar Store framework.
You should read this document if you want to display or edit iCal data in your application. Calendar Store is ideal for integrating subsets of iCal data into your application. Calendar Store simplifies fetching and saving changes to records since you don’t have to implement your own persistent storage or deal with the complexity of the Calendars schema. Calendar Store also notifies applications of changes made in iCal so your application data stays fresh. It is suitable for developing widgets, plug-ins, and augmenting other types of applications that use calendar data. It is not suitable for implementing full-featured calendar applications.
Note: Calendar Store does not provide complete read/write database access to all iCal records. Use Sync Services and the Calendars schema if you need access to every calendar entity and property.
You should read these articles if you just want to fetch Calendar Store objects:
“Calendar Store Overview” describes the Calendar Store architecture and core classes.
“Fetching Objects” explains how to fetch calendar, event, and task objects.
“Observing Changes” explains how to observe changes made to these objects by other processes.
You should also read these articles if you want to create or modify Calendar Store objects:
“Creating Objects” explains how to create commonly used objects: calendars, events, tasks, and alarms.
“Creating Recurring Events” explains how to create recurring events—events that repeat according to a custom pattern.
“Saving Changes” explains how to save changes you make locally to Calendar Store objects.
For an in-depth description of the Calendar Store API, read:
The following projects contain more sample code:
Checklist
If you decide to use Sync Services to access records in the Calendars schema directly, read:
© 2007 Apple Inc. All Rights Reserved. (Last updated: 2007-10-31)