我尝试使用iOS 9中的新主动助理功能访问通过电子邮件自动创建的事件。事件显示在"在Mail中找到的事件"日历。
要访问这些,我正在执行以下操作
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的限制还是我可以通过其他任何方式访问它们?
答案 0 :(得分:2)
我能够向苹果工程师提出这个问题,他们的答案是,出于隐私原因,他们不会公开这个日历。他们希望用户将从邮件解析的事件添加到他们的正常日历之一,以确认他们希望将其公开给其他应用程序,这就是为什么这个日历在平常时不可见
let calendars = store.calendarsForEntityType(EKEntityTypeEvent)
答案 1 :(得分:0)
我不确定这是否是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!}}}
沿着这些方向尝试一下!