eventkit · dpearson2699 — скилл для Claude Code: календарь и напоминания в iOS
Скилл по EventKit и EventKitUI: помогает агенту писать код для календарей, напоминаний, повторяющихся событий и системных редакторов.
npx skills add dpearson2699/swift-ios-skills --skill eventkit -a claude-codeЧто делает eventkit
Скилл описывает работу с EventKit в iOS-приложении: запрос доступа, создание и чтение событий, напоминания, правила повторения, будильники и контроллеры EventKitUI. Внутри — разделы с примерами на Swift: EKEventStore, EKEvent, EKReminder, EKRecurrenceRule, EKEventEditViewController, EKCalendarChooser. Есть отдельные блоки про типичные ошибки и чек-лист для ревью.
Главная тонкость — разрешения. На iOS 17 и новее старый requestAccess(to:) больше не показывает запрос и выбрасывает ошибку, поэтому нужны гранулярные методы: requestFullAccessToEvents(), requestWriteOnlyAccessToEvents(), requestFullAccessToReminders(). Доступ только на запись позволяет создавать события, но не даёт их читать и не возвращает список календарей — если событие потом нужно найти или изменить, потребуется полный доступ. Для iOS 10–16 API другие, их надо оборачивать в проверку версии.
В Info.plist добавляется строка использования под выбранный путь доступа: NSCalendarsFullAccessUsageDescription, NSCalendarsWriteOnlyAccessUsageDescription или NSRemindersFullAccessUsageDescription. Системный редактор события работает вообще без доступа к календарю приложения. EKEventStore создают один раз и переиспользуют — объекты из разных хранилищ смешивать нельзя. Выборка событий синхронная и ограничена диапазоном в четыре года.
Какие задачи решает
- запросить доступ к календарю и напоминаниям по правилам iOS 17
- создать событие и сохранить его в нужном календаре
- настроить повторяющееся событие с правилом
EKRecurrenceRule - выбрать календарь для записи и отфильтровать недоступные
- показать системный редактор события через
EKEventEditViewController
Примеры запросов агенту
- Добавь запрос полного доступа к календарю и функцию создания события на Swift
- Сделай напоминание с датой выполнения через
EKReminderи сохрани его - Проверь, где в этом коде нарушены правила EventKit по разрешениям
Как установить eventkit
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill eventkit -a claude-code2Вручную: положить файлы
~/.claude/skills/eventkit/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/eventkit/
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill eventkit -a codex2Вручную: положить файлы
.agents/skills/eventkit/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill eventkit -a cursor2Вручную: положить файлы
.cursor/skills/eventkit/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dpearson2699/swift-ios-skills eventkit2Вручную: положить файлы
.github/skills/eventkit/SKILL.md1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill eventkit -a gemini-cli2Командой платформы
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/eventkitВручную: положить файлы
.devin/skills/eventkit/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill eventkit -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора69
Другие версии eventkit
Похожие
Рядом в теме «Мобильная разработка»
Всё по теме «Мобильная разработка» →Вопросы о eventkit
Как установить eventkit в Claude Code?
Выполните npx skills add dpearson2699/swift-ios-skills --skill eventkit -a claude-code. После этого файл скилла появится по пути ~/.claude/skills/eventkit/SKILL.md.
Что делает eventkit?
Даёт агенту справочник по EventKit и EventKitUI: авторизация, создание и чтение событий, напоминания, повторения, будильники, системные редакторы и наблюдение за изменениями календаря.
Почему на iOS 17 не работает requestAccess(to:)?
Этот метод больше не показывает запрос и выбрасывает ошибку. Вместо него скилл предлагает гранулярные вызовы: requestFullAccessToEvents(), requestWriteOnlyAccessToEvents() и requestFullAccessToReminders().