如何在日历中设置默认提醒?

Pra*_*bhu 2 ios ekevent ekeventstore swift swift2

尝试向用户的日历添加偶数,但不确定如何设置默认警报.到目前为止我所拥有的是:

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: {})
            }
        })
    }
Run Code Online (Sandbox Code Playgroud)

我认为警报=警报,但这似乎没有做任何事情.如何在活动开始前1天设置警报,在事件发生前1小时设置另一个警报?

Dav*_*ton 7

文档EKAlarm(relativeOffset:):

负偏移值在事件开始之前触发,而正值在启动后触发.

我会尝试以下方法:

let alarm1hour = EKAlarm(relativeOffset: -3600) //1 hour
let alarm1day = EKAlarm(relativeOffset: -86400) //1 day
Run Code Online (Sandbox Code Playgroud)

注意:由于夏令时变化,您可能希望在"前一天"警报时使用绝对时间.