由于日历缺少默认的组织者,因此无法保存EKEvent

时间:2019-04-17 19:37:51

标签: swift ekevent ekcalendar

我正在尝试将新的EKEvent保存到我使用以下方法创建的新的本地日历中:

newCalendar.source = self.eventStore.sources.filter { (source: EKSource) -> Bool in source.sourceType.rawValue == EKSourceType.local.rawValue}.first!
    do {
        try self.eventStore.saveCalendar(newCalendar, commit: true)
       } catch {
        throw Error.calendarNotSaved
      }

我返回日历标识符并创建一个新的EKEvent并保存为:

newEvent.calendar = self.eventStore.calendar(withIdentifier: calendarIdentifier)!

do {
   try eventStore.save(newEvent, span:.thisEvent, commit: true)
 } catch {}

这失败,并显示错误消息:

  

Error Domain = EKErrorDomain代码= 54“日历没有默认的组织者。”

根据Apple的说法,您不能仅use an existing one to create a new calendar.来创建新的EKSource。就我而言,唯一的本地日历不包含任何EKOrganizer信息,因此无法保存。有关如何解决此问题的任何建议?

更新:还应该补充一点,我试图通过EKEvent.organizer添加一个管理器,但这是一个只读属性,它从创建日历时使用的EKSource中获取其信息。 / p>

0 个答案:

没有答案