如何在 iOS 中分配提醒 (EKReminder)?

问题描述

[更新:我提交了一份官方 Apple 开发者反馈请求,要求更新 EventKit API 和文档]

[更新:我联系了 Apple 支持,他们说要阅读文档......所以我认为 Matt 是正确的,它根本不可用。]

根据Apple Docs,EKReminder 是EKCalendarItem 的子类。它具有以下(很多)属性

提醒:

  • priority: Int - 提醒的优先级。
  • startDateComponents:日期组件? - 任务的开始日期。
  • dueDateComponents:日期组件? - 完成提醒的日期。
  • isCompleted: Bool - 确定提醒是否标记为完成的布尔值。
  • 完成日期:日期?完成提醒的日期。

作为日历项目:

  • 标题:字符串! - 日历项的标题
  • 位置:字符串? - 与日历项关联的位置。
  • creationDate:日期? - 此日历项目的创建日期。
  • lastModifiedDate:日期? - 上次修改日历项的日期。
  • 时区:时区? - 日历项目的时区。
  • 网址:网址?
  • hasNotes: Bool - 一个布尔值,指示日历项是否有备注。
  • 注释:字符串? - 与日历项关联的备注。
  • hasAttendees: Bool - 一个布尔值,指示日历项目是否有与会者。
  • 与会者:[EKParticipant]? - 与日历项关联的与会者,作为 EKParticipant 对象数组。

我可以从我的应用中的提醒中打印这些项目中的任何一项。

但是,如果我创建了一个“分配给某人”的提醒,我将无法获得该信息。我知道它必须存储在某个地方。

如果你“打印”一个提醒,你会得到这样的信息:

EKReminder <0x0000000> {title = Do the thing; dueDate = 2021-02-25 08:00:00 +0000; completionDate = (null); priority = 0; calendarItemIdentifier = XXXXX-XXXX-XXXX-XXXX-XXXXXX; alarms = (null)}

如果需要,您可以“打印”任何其他项目,例如 print(reminder.notes!)

我认为共享项目和作业可能会使用 attendees 属性,但它为零 - 即使提醒有指定人员。

你怎样才能找到指定的人?

Example of the Reminders App detail where Assign Person

解决方法

这可能是升级提醒的一个功能。但 API 从未升级到匹配,因此无法通过编程方式访问它。