2017-06-10 5 views
0

Je crée un EKEvent attaché à un calendrier personnalisé. Chaque fois que je crée l'EKEvent, une alarme est définie pour l'heure de l'événement, cependant, je voudrais que cet événement n'ait pas d'alarme à la création.Créer EKEvent sans alarme

J'ai essayé d'installer la propriété des alarmes de l'événement pour ...

event.alarms = nil 

ainsi que ...

event.alarms = [] 

J'ai aussi essayé de régler l'alarme à un avenir lointain des données , mais ceci ajoute juste une autre alarme à l'événement ...

event.alarms = [Date.distantFuture] 

J'ai fait tout ceci avant de sauver l'événement, mais il m'a donné aucun résultat, l'alarme se déclenche peu importe ce que je fais. :(

Voici le code que je utilise pour créer le calendrier:

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

Et c'est le code que j'utilise pour créer l'événement:

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

Est-ce un bug sur le système d'exploitation ou suis-je manque quelque chose? Merci!

Répondre

0

Avez-vous essayé la méthode de removealaram de la classe EkCalendarItem?

+0

J'ai essayé de supprimer l'alarme après avoir enregistré l'événement dans le magasin, mais la notification du calendrier est toujours passée. –