7
我想创建日历,而不是日历事件,但日历。我无法获取本地来源,并且我的应用程序崩溃。创建日历,即使与iCloud关闭也没有本地源
这里是我的代码:
let newCalendar = EKCalendar(for: .event, eventStore: eventStore)
newCalendar.title = "Some Calendar Name"
let sourcesInEventStore = eventStore.sources
newCalendar.source = sourcesInEventStore.filter{
(source: EKSource) -> Bool in
source.sourceType.rawValue == EKSourceType.local.rawValue
}.first!
我有我的iCloud完全关闭,仍然不能得到本地源。
我也试图得到这个工作与iCloud的开启,我想出了这个代码,但它不工作
for let source in eventStore.sources
{
if(source.sourceType == EKSourceType.calDAV && source.title == "iCloud")
{
newCalendar.source = source
}
}
if(newCalendar.source == nil)
{
for let source2 in eventStore.sources
{
if(source2.sourceType == EKSourceType.local)
{
newCalendar.source = source2
}
}
}
要试一试。 – user979331
我试过这个,我没有得到任何错误,现在警报弹出询问它是否可以使用日历,但是仍然没有本地来源:(它进入else语句中// //不知何故,本地日历未找到,相应地处理错误'我怎样才能得到本地源? – user979331
@ user979331警报是正常的,你需要询问用户使用他们的日历的权限我不知道为什么不会有本地日历。日历都在sourcesInEventStore? – JAL