我正在创建附加到自定义日历的EKEvent。每当我创建EKEvent时,都会为事件的时间设置警报,但是,我希望此事件在创建时不会发出警报。
我已尝试将事件的闹钟属性设置为...
event.alarms = nil
以及......
event.alarms = []
我还尝试将闹钟设置为遥远的未来数据,但这只是为事件添加了另一个警报......
event.alarms = [Date.distantFuture]
我在保存活动之前完成了所有这些操作,但它没有给我任何结果,无论我做什么,警报都会触发。 :(
以下是我用来创建日历的代码:
let calendar = EKCalendar(for: .event, eventStore: store)
var source = store.sources.filter{ $0.sourceType == .calDAV && $0.title == "iCloud" }.first
if source == nil {
source = store.sources.filter{ $0.sourceType == .local }.first
}
calendar!.title = "Some Title"
calendar!.cgColor = ColorKey.orange.color().cgColor
calendar!.source = source!
do {
try store.saveCalendar(calendar!, commit: true)
} catch {
//error handling here...
}
这是我用来创建活动的代码:
let event = EKEvent(eventStore: store)
event.title = "Some title"
event.notes = "Some notes"
event.startDate = dateToFire
event.endDate = dateToFire.addingTimeInterval(TimeInSeconds.hour.rawValue)
event.isAllDay = false
event.calendar = calendar
do {
try store.save(event, span: EKSpan.futureEvents)
} catch {
//error handling here...
}
这是操作系统上的错误还是我错过了什么? 谢谢!
答案 0 :(得分:0)
您是否尝试过EkCalendarItem类中的removealaram方法?
答案 1 :(得分:0)
Apple的“日历”应用程序中有默认警报设置。启动日历,然后转到“首选项”,“警报”。那里有三个设置(事件,全天事件,生日)。将它们设置为“无”。 (我使用的是macOS 10.14,日历11.0。)