ios - 如何在 iOS eventKit 中为事件添加警报?

标签 ios swift xcode eventkit

我能够使用 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 文档:

EKAlarm Apple doc

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

关于ios - 如何在 iOS eventKit 中为事件添加警报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47052386/

相关文章:

ios - 如何检测两个不同的查询是否已完成,然后快速调用另一个函数?

xcode - 从 XIB 快速加载 View

iphone - Interface Builder 模拟用户界面元素在景观上误导

ios - prepareForSegue 在 UIButton Action 事件之前调用

ios - NSLayoutConstraints 打破但看起来很好

ios - 如何识别来自特定 NSManagedObjectContext 保存操作的通知?

ios - NetworkInterface.GetAllNetworkInterfaces() 返回 Xamarin.iOS 中 OperationalStatus 为 'Unknown' 的接口(interface)

swift - 链接 Realm 数据而不是复制

objective-c - 无法从 Objective-C 访问 Swift 类型的属性

Xcode 10 XCTest 错误 : "Underlying error: Test session exited(1) without checking in.)"