[英]How to set a default alert in the calendar?
Trying to add an even to my user's calendar, but not sure how to set the default alerts. 尝试向用户的日历添加偶数,但不确定如何设置默认警报。 What I have is this so far: 到目前为止我所拥有的是:
func createEvent(item: Item) {
let eventStore = EKEventStore()
eventStore.requestAccessToEntityType(EKEntityType.Event, completion: { (granted, error) in
if granted && error == nil {
let event = EKEvent(eventStore: eventStore)
event.title = item.name
event.startDate = item.StartDate
event.endDate = item.endDate
event.notes = item.description
event.calendar = eventStore.defaultCalendarForNewEvents
let alarm1hour = EKAlarm(relativeOffset: 3600) //1 hour
let alarm1day = EKAlarm(relativeOffset: 86400) //1 day
event.addAlarm(alarm1day)
event.addAlarm(alarm1hour)
// prompt user to add event (to whatever calendar they want)
let controller = EKEventEditViewController()
controller.event = event
controller.eventStore = eventStore
controller.editViewDelegate = self
self.presentViewController(controller, animated: true, completion: nil)
} else {
self.dismissViewControllerAnimated(true, completion: {})
}
})
}
I assumed that alarm = alert, but this doesn't seem to do anything. 我认为警报=警报,但这似乎没有做任何事情。 How can I set an alert for 1 day before the event, and another for 1 hour before the event? 如何在活动开始前1天设置警报,在事件发生前1小时设置另一个警报?
From the documentation for EKAlarm(relativeOffset:)
: 从EKAlarm(relativeOffset:)
的文档 EKAlarm(relativeOffset:)
:
Negative offset values fire before the start of the event, while positive values fire after the start. 负偏移值在事件开始之前触发,而正值在启动后触发。
I would try the following: 我会尝试以下方法:
let alarm1hour = EKAlarm(relativeOffset: -3600) //1 hour
let alarm1day = EKAlarm(relativeOffset: -86400) //1 day
Note: you may want to use an absolute time for the "one day before" alarm due to daylight savings time changes. 注意:由于夏令时变化,您可能希望在“前一天”警报时使用绝对时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.