SuperAPI AI 工具集

eventkit

办公与效率

查看项目

更新于 10-15 21:12

技能介绍

用途:在 iOS 应用中通过 EventKit 与 EventKitUI 管理日历事件和提醒事项,包括授权、增删改查、重复规则、闹钟以及系统编辑器。

主要能力:请求日历与提醒的访问权限;创建、查询、修改、删除事件;按日期范围查询事件(谓词上限四年,events(matching:) 同步返回已提交事件);按标识符获取单个事件;创建、查询、完成提醒(提醒查询为异步回调);使用 EKRecurrenceRule 设置简单或复杂重复规则;用 EKAlarm 添加相对或绝对时间闹钟,并支持基于位置的提醒;通过 EKEventEditViewController、EKEventViewController、EKCalendarChooser 提供系统界面;监听 EKEventStoreChanged 通知刷新数据。

使用方式:在 Info.plist 添加对应权限说明键;iOS 17+ 使用 requestFullAccessToEvents()、requestWriteOnlyAccessToEvents()、requestFullAccessToReminders() 等异步方法,旧系统保留旧版请求与兼容回退;创建单个 EKEventStore 实例并复用;保存事件时指定 EKSpan(.thisEvent 或 .futureEvents);批量保存用 commit: false 暂存后调用 commit()。

适用场景:向用户日历添加事件、创建提醒、集成系统日历编辑器、按范围查询事件、处理重复事件与闹钟。

限制:写权限只能创建事件,无法读取日历或事件;读取事件与提醒需要完整权限;提醒仅有完整权限;事件谓词查询范围上限四年;不同事件存储的 EKObject 不可混用;收到变更通知后需重新获取数据;时区需显式设置以避免时间错误。iOS 26+ 提供类型化变更消息,需用 guard 保护。