SuperAPI AI 工具集

axiom-eventkit

办公与效率

查看项目

更新于 10-15 20:11

技能介绍

用途:在开发涉及日历事件、提醒事项、EventKit 权限或 EventKitUI 控制器时,提供 EventKit 的使用规范与决策指导。核心原则是只申请所需的最小权限,并在真正需要时才申请。

主要能力:梳理三档访问权限。第一档无权限,优先使用 EKEventEditViewController(iOS 17+ 进程外运行,无需权限),预约类场景可用 Siri Event Suggestions。第二档只写权限(iOS 17+),调用 requestWriteOnlyAccessToEvents(),适合自定义编辑界面、批量或静默创建事件,但只能写入虚拟日历、查询返回空、无法读回。第三档完全访问,调用 requestFullAccessToEvents() 或 requestFullAccessToReminders(),用于读取、修改、删除已有事件。提醒事项始终需要完全访问,没有只写档。

使用方式:创建单个 EKEventStore 并复用,对象不可跨 store 使用;批量保存用 commit: false 后统一 commit,失败可 reset() 回滚;监听 .EKEventStoreChanged 通知并重新拉取;事件查询结果需用 compareStartDate(with:) 排序;提醒事项的截止时间使用 DateComponents 而非 Date,获取提醒为异步。iOS 17 起旧 API requestAccess(to:) 会抛错,需用 #available 分支迁移,并配置对应的 Info.plist 权限说明键。

适用场景:向日历添加事件、选择 EventKitUI 或权限档位、申请日历/提醒权限、查询展示已有事件、从旧权限 API 迁移、创建虚拟会议扩展、实现 Siri 事件建议、排查“访问被拒”或事件缺失。

限制:不适用于 Contacts、通用 SwiftUI 架构或后台任务调度。资料未提供具体收费、价格与平台支持范围等信息。