What problem does it solve?
iOS apps need a reliable, permission-aware way to create, read, update, and delete calendar events and reminders while handling recurrence, alarms, and system-provided editors; this Skill documents recommended patterns, pitfalls, and UI integration for those tasks.
Core Features & Use Cases
- Authorization & Safety: Guidance on requesting iOS 17+ granular calendar and reminders access and validating authorization before operations.
- Event and Reminder CRUD: Patterns for creating, fetching, updating, and deleting EKEvent and EKReminder objects and choosing writable calendars.
- Recurrence, Alarms, and Observability: Recipes for EKRecurrenceRule, EKAlarm usage, batching saves with commit semantics, and responding to EKEventStoreChanged notifications.
- EventKitUI Integration: How to present EKEventEditViewController, EKEventViewController, and EKCalendarChooser safely from UIKit or SwiftUI.
- Real-world example: Add a booking event with structured location, a recurrence rule, and a pre-event alarm while ensuring the app uses a single shared EKEventStore and re-fetches after external changes.
Quick Start
Add a one-hour "Team Sync" event tomorrow at 10:00 AM to the user's default writable calendar with a 15-minute alarm and request write access if permission is not yet granted.