访问 "Events Found in Mail" 日历中的活动
Accessing events in "Events Found in Mail" calendar
我正在尝试使用 iOS 9 中的新主动助手功能访问从电子邮件自动创建的事件。这些事件显示在 "Events Found in 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 的限制还是我可以通过任何其他方式访问它们?
我不确定这是否是 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!}}}
沿着这些方向尝试一些东西!
我可以向 Apple 工程师问这个问题,他们的回答是出于隐私原因他们不会公开此 日历。他们希望用户将从邮件中解析的事件添加到他们的一个普通日历中,以确认他们想要将其公开给其他应用程序,这就是为什么这个日历在正常情况下不可见的原因
let calendars = store.calendarsForEntityType(EKEntityTypeEvent)
我正在尝试使用 iOS 9 中的新主动助手功能访问从电子邮件自动创建的事件。这些事件显示在 "Events Found in 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 的限制还是我可以通过任何其他方式访问它们?
我不确定这是否是 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!}}}
沿着这些方向尝试一些东西!
我可以向 Apple 工程师问这个问题,他们的回答是出于隐私原因他们不会公开此 日历。他们希望用户将从邮件中解析的事件添加到他们的一个普通日历中,以确认他们想要将其公开给其他应用程序,这就是为什么这个日历在正常情况下不可见的原因
let calendars = store.calendarsForEntityType(EKEntityTypeEvent)