【发布时间】:2018-03-28 03:25:11
【问题描述】:
我正在尝试使用 Eventkit 访问 Mac 日历。
已成功请求访问权限,但我不断收到 nil 或日历或事件数组为空,即使我在本地日历、iCloud 日历和 Google 日历中的应用程序中有多个日历和许多事件。
我从以下代码得到的输出是:
在我的 Mac 上
[]
[]
let sources = eventStore.sources
for source in sources{
print(source.title)
for calendar in source.calendars(for: .event){
print(calendar.title)
}
}
let calendars = eventStore.calendars(for: .event)
let predicate = self.eventStore.predicateForEvents(withStart: startDate, end: endDate, calendars: nil)
let events = self.eventStore.events(matching: predicate)
print(calendars)
print(events)
如果我尝试从代码创建和保存日历,则会出现错误: Error Domain=EKErrorDomain Code=5 "当持久性不可用时尝试保存" UserInfo={NSLocalizedDescription=当持久性不可用时尝试保存}
【问题讨论】:
-
来自文档:developer.apple.com/documentation/eventkit/ekerror/code/… 此错误代码“5”是内部错误。其次,“我从以下代码得到的输出是:在我的 Mac [] [] 上”你有 4 个打印语句,但在问题输出中只显示 2 个
-
@art-divin 第二个打印语句永远不会执行,因为没有日历。