【问题标题】:How to get assignment of a reminder (EKReminder) in iOS?如何在 iOS 中分配提醒(EKReminder)?
【发布时间】:2021-02-24 00:50:52
【问题描述】:

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

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

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

提醒一下:

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

作为日历项目:

  • 标题:字符串! - 日历项目的标题。
  • 位置:字符串? - 与日历项关联的位置。
  • 创建日期:日期? - 此日历项目的创建日期。
  • 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 属性,但它是 nil - 即使提醒有分配的人。

你怎么能找到指定的人?

【问题讨论】:

  • "如果我创建一个“分配给某人”的提醒"" 这听起来很酷。这样做的用户界面是什么?
  • 嗨,@matt - 在 iOS 提醒应用程序中,当您单击提醒行中的 (i) 时,您可以将任务分配给共享列表中的人员。我会在问题中添加一张图片。它仅适用于共享列表(并且“列表”实际上是具有不同名称的日历)。

标签: ios swift eventkit ekreminder


【解决方案1】:

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

【讨论】:

  • 我不能接受这就是结局。我已经向 Apple 提交了开发人员票。我们会看到我的发现 - 手指交叉是什么。
  • 这听起来很值得一个错误报告。然而,我不明白为什么要处决这个坏消息的承担者。
  • 哦,我没有投票给你,我也不会处决你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多