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

jes*_*ssi 6 ios eventkit swift ekreminder

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

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

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

提醒一句:

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

作为日历项目:

  • 标题: 字符串!- 日历项目的标题。
  • 位置:字符串?- 与日历项目关联的位置。
  • 创建日期:日期?- 创建此日历项目的日期。
  • 最后修改日期:日期?- 上次修改日历项目的日期。
  • 时区:时区?- 日历项目的时区。
  • 网址:网址?
  • 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)}
Run Code Online (Sandbox Code Playgroud)

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

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

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

提醒应用程序详细信息示例,其中分配人员

mat*_*att 7

这可能是升级后的提醒功能。但 API 从未升级到匹配,因此\xe2\x80\x99s 无法以编程方式访问它。

\n