2015-10-16 13 views
8

Próbuję uzyskać dostęp do zdarzeń, które są tworzone automatycznie z wiadomości e-mail, dzięki nowej funkcji asystenta aktywnego w iOS 9. Wydarzenia są wyświetlane w kalendarzu "Wydarzenia znalezione w poczcie" .Uzyskiwanie dostępu do wydarzeń z kalendarza "Wydarzenia znalezione w poczcie"

dostęp do tych robie następujące

self.eventStore.requestAccessToEntityType(.Event, completion: { (granted, error) -> Void in 

    let predicate = eventStore.predicateForEventsWithStartDate(NSDate(timeIntervalSince1970: timestamp1), endDate: NSDate(timeIntervalSince1970: timestamp2), calendars: nil) 
    let events = eventStore.eventsMatchingPredicate(predicate) 

} 

Jednak wydarzenia w tym kalendarzu nie są wymienione. Czy to jest ograniczenie ze strony Apple lub czy mogę uzyskać do nich dostęp w jakikolwiek inny sposób?

enter image description here

Odpowiedz

2

Udało mi się zadać to pytanie inżynierowi jabłek, a ich odpowiedzią jest to, że nie ujawniają tego kalendarza ze względu na prywatność. Chcą użytkownik dodać zdarzenie analizowany z pocztą do jednego ze swoich normalnych kalendarzy, aby potwierdzić, że chcą wystawiać go do innych aplikacji i dlatego ten kalendarz nie jest widoczny podczas wykonywania zwykłych

let calendars = store.calendarsForEntityType(EKEntityTypeEvent) 
+0

Wielkie dzięki. Jesteś szybkim guru – Nilsymbol

0

jestem pewien, czy jest to ograniczenie przez Apple, ale w ogóle, jeśli znasz nazwę kalendarza można do niego dostęp tak :)

func yourFunc(store: EKEventStore) { 

    let calendars = store.calendarsForEntityType(EKEntityTypeEvent) 
     as! [EKCalendar] 

    for calendar in calendars { 

     if calendar.title == "Events Found in Mail" { 
     //Do something!}}} 

Spróbuj czegoś wzdłuż tych linii !

+0

Dzięki za odpowiedź. Próbowałem tego, ale niestety kalendarz nie pojawia się na liście kalendarzy. – Nilsymbol

Powiązane problemy