eventkit

Manage iOS calendar events and reminders with EventKit and EventKitUI.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/harshav167/build-ios-apps --skill eventkit-harshav167
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: eventkit
Source: https://github.com/harshav167/build-ios-apps/tree/main/skills/eventkit
Command: npx skills add https://github.com/harshav167/build-ios-apps --skill eventkit-harshav167

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

EventKit enables apps to create, read, and manage calendar events and reminders, including authorization handling, event/reminder CRUD, recurrence rules, alarms, and UI integration with EventKitUI components.

Core Features & Use Cases

  • Authorization handling for reading and writing calendars and reminders across iOS versions.
  • CRUD operations for EKEvent and EKReminder, including creation, fetch, update, and deletion.
  • Recurrence rules, alarms, and advanced scheduling with EKRecurrenceRule and EKAlarm.
  • Presenting system editors and calendar pickers via EKEventEditViewController, EKCalendarChooser, and related UI components.
  • Observing calendar changes via EKEventStoreChanged to refresh UI and data.
  • Safe integration guidance for EventKitUI in SwiftUI and UIKit.
  • Use cases include building calendar-first apps, reminders-based workflows, and event-driven reminders.

Quick Start

Instantiate EKEventStore, request the appropriate calendar or reminder access, then create, save, and manage events or reminders.

Frequently Asked Questions about eventkit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I request calendar and reminders authorization in iOS using EventKit?

EventKit authorization requires instantiating EKEventStore and requesting access for calendars and reminders across iOS versions. This Skill handles the full authorization flow, ensuring your app safely requests and verifies read and write permissions before accessing event or reminder data.

How do I create and manage recurring calendar events with alarms in Swift?

Creating recurring calendar events with alarms in Swift uses EKEvent, EKRecurrenceRule, and EKAlarm. This Skill handles full CRUD operations for events, enabling you to configure advanced scheduling, set recurrence patterns, and attach alarms directly to calendar items.

Can I present the system calendar editor and picker UI in SwiftUI?

Presenting the system calendar editor in SwiftUI uses EKEventEditViewController and EKCalendarChooser. This Skill provides safe integration guidance for EventKitUI components within both SwiftUI and UIKit apps to present native interfaces for editing events and choosing calendars.

How do I observe calendar changes to refresh my iOS app's UI?

Observing calendar changes to refresh your UI uses the EKEventStoreChanged notification. This Skill implements change observation logic, allowing your app to listen for external EventKit modifications and update fetched EKEvent or EKReminder data accordingly.

Does EventKit support managing reminders alongside calendar events?

EventKit supports managing reminders alongside calendar events through EKReminder. This Skill covers full CRUD operations for EKReminder, enabling you to build reminders-based workflows, create event-driven reminders, and manage both data types within a single iOS application.

What is the best way to implement EventKit CRUD operations for iOS calendar events?

The best way to implement EventKit CRUD operations for iOS calendar events is by using EKEventStore to instantiate, fetch, save, and delete EKEvent objects. This Skill streamlines the entire process, from initial store creation to advanced recurrence rule handling.