eventkit

Create and manage calendar events and reminders with EventKit and EventKitUI.

Updated Mar 31, 2026
One-click install
npx skills add https://github.com/DFly7/iOS-FastAPI-Supabase-AI --skill eventkit
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: eventkit
Source: https://github.com/DFly7/iOS-FastAPI-Supabase-AI/tree/main/.agents/skills/eventkit
Command: npx skills add https://github.com/DFly7/iOS-FastAPI-Supabase-AI --skill eventkit

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

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.

Frequently Asked Questions about eventkit

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

FAQPage Schema
How do I request iOS 17 calendar and reminders access using EventKit?

EventKit manages iOS calendar events and reminders by performing EKEventStore CRUD operations. It handles creating, fetching, updating, and deleting EKEvent and EKReminder objects while selecting writable calendars for data persistence.

How do I add a recurring calendar event with an alarm in Swift?

To add a recurring calendar event with an alarm in Swift, apply EKRecurrenceRule for repetition patterns and attach EKAlarm objects. Batch these saves with commit semantics to ensure reliable persistence.

Does EventKitUI work with SwiftUI for presenting event editors?

EventKitUI works with SwiftUI for presenting event editors by safely bridging UIKit controllers like EKEventEditViewController and EKEventViewController. Delegate handling ensures proper management of system-provided event editing interfaces.

Why do my EventKit calendar events stop syncing after external changes?

EventKit calendar events stop syncing after external changes when the app fails to observe EKEventStoreChanged notifications. Re-fetching data from the shared EKEventStore after observing these notifications resolves synchronization issues.

Can I use a single shared EKEventStore for both events and reminders?

You can use a single shared EKEventStore for both events and reminders. Managing one instance prevents synchronization conflicts and ensures consistent authorization flows across all calendar and reminder operations.