Доступ к событиям в календаре "события, найденные в Почте"

Я пытаюсь получить доступ к событиям, которые создаются автоматически из писем с новой функцией proactive assistant, найденной в iOS 9. События отображаются в календаре" события, найденные в Почте".

для доступа к ним я делаю следующее

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)

}

однако события в этом календаре не перечислены. Это ограничение от Apple или я могу получить к ним доступ любым другим способом?

enter image description here

2 ответов


я смог задать этот вопрос инженеру apple, и их ответ заключается в том, что они не подвергают это календарь по соображениям конфиденциальности. Они хотят, чтобы пользователь добавил событие, проанализированное из почты, в один из своих обычных календарей, чтобы подтвердить, что они хотят выставить его другим приложениям, и поэтому этот календарь не отображается при выполнении обычного

 let calendars = store.calendarsForEntityType(EKEntityTypeEvent)

Я не уверен, что это ограничение Apple, но в целом, если вы знаете имя календаря, вы можете получить к нему доступ следующим образом:)

func yourFunc(store: EKEventStore) {

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

    for calendar in calendars {

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

попробуйте что-нибудь в этом роде!