【问题标题】:How to add alert for events in iOS eventKit?如何在 iOS eventKit 中添加事件警报?
【发布时间】:2017-11-01 10:07:18
【问题描述】:

我能够使用 iOS eventkit 成功创建一个事件,但该事件在没有警报的情况下保存。是否可以从代码向日历事件添加警报(如 15 分钟前、1 小时前等)? 这是我当前创建事件的代码

  let eventStore : EKEventStore = EKEventStore()
  // 'EKEntityTypeReminder' or 'EKEntityTypeEvent'
  eventStore.requestAccess(to: .event) { (granted, error) in
      let event:EKEvent = EKEvent(eventStore: eventStore)
      if let title = self.calendarTitle {
        event.title = title  
      } else {
        event.title = "Session"
      }
      let dateFormatter = DateFormatter()
      dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss'Z'"
      let dateStart = dateFormatter.date(from: self.calendarStart)
      let dateEnd =  dateFormatter.date(from: self.calendarEnd)
      event.startDate = dateStart!
      event.endDate = dateEnd!
      event.notes = self.calendarNote
      event.calendar = eventStore.defaultCalendarForNewEvents
      do {
        try eventStore.save(event, span: .thisEvent)
      } catch let error as NSError {
        print("failed to save event with error : \(error)")
      }
      self.alertify(message: "Event saved in Calendar", in: self, success: true)
    }
    else {
      self.alertify(message: "Unable to save", in: self, success: false)
    }
  }

【问题讨论】:

  • 您需要创建EKAlarm 的实例并将其添加到您的活动中

标签: ios swift xcode eventkit


【解决方案1】:

您可以查看 EKAlarm 文档:

EKAlarm Apple doc

您可以使用它的 absoluteDate 属性为您的活动设置闹钟。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多