2017-06-10 6 views
0

Ich erstelle ein EKEvent, das an einen benutzerdefinierten Kalender angehängt ist. Jedes Mal, wenn ich das EKEvent erstelle, wird ein Alarm für die Zeit des Ereignisses gesetzt. Ich möchte jedoch, dass dieses Ereignis keinen Alarm bei der Erstellung hat.Erstellen von EKEvent ohne Alarm

Ich habe versucht, die Alarme Unterkunft Ereignis Einstellung ...

event.alarms = nil 

sowie ...

event.alarms = [] 

Ich habe auch versucht, den Alarm zu einer fernen Zukunft Einstelldaten , aber das fügt nur einen weiteren Alarm zu dem Ereignis hinzu ...

event.alarms = [Date.distantFuture] 

Ich habe all dies vor dem Speichern des Ereignisses getan, aber es hat mir gegeben keine Ergebnisse, der Alarm wird ausgelöst, egal was ich mache. :(

Hier ist der Code, den ich den Kalender erstellen bin mit:

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

Und das ist der Code, den ich um das Ereignis zu erstellen bin mit:

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

Ist das etwas ein Fehler auf dem OS oder bin ich dabei? Dank!

Antwort

0

Haben Sie die removealaram Methode aus der Klasse EkCalendarItem versucht?

+0

Ich habe versucht, den Alarm nach dem Speichern des Ereignisses im Geschäft zu entfernen, aber die Kalenderbenachrichtigung wurde noch angezeigt. –

Verwandte Themen