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) }