Swift カレンダー、イベント追加、アラーム設定
「Swift カレンダー、イベント追加、カレンダー(EKCalendar)設定」の続き
イベントにアラーム設定
EKAlarm.init(absoluteDate:)を使いたくなるが、
純正カレンダーアプリで見る「イベントの予定時刻」「5分前」等にするには、
EKAlarm.init(relativeOffset:)を使用する。
アラームを発生するという意味では同じだが、純正カレンダーアプリでの表示が違う。
let event = EKEvent(eventStore: eventStore)
event.title = self.titleText.text
event.startDate = self.startDatePicker.date
event.endDate = self.endDatePicker.date
let calendar = self.calendars[calendarPicker.selectedRow(inComponent: 0)]
event.calendar = eventStore.calendar(withIdentifier: calendar!.calendarIdentifier)
if allday == true {
event.isAllDay = true
}
let alarmEvent = EKAlarm(relativeOffset: 0)
let alarm5Minute = EKAlarm(relativeOffset: 60 * -5)
event.alarms = [alarmEvent, alarm5Minute]
do {
try eventStore.save(event, span: .thisEvent)
self.viewController?.pageUpsert()
self.viewController?.updateDays()
self.dismiss(animated: true, completion: nil)
}
catch {
let nserror = error as NSError
print(nserror)
}





