ios - 获取默认日历时出错,仅第一次出现,但之后工作正常

标签 ios swift eventkit

我已经编写了一段代码来创建事件。 代码非常简单:

    let eventStore : EKEventStore = EKEventStore()
    eventStore.requestAccess(to: .event, completion: {
            granted, error in
            if (granted) && (error == nil) {
                print("granted \(granted)")
                print("error  \(String(describing: error))")

            let event:EKEvent = EKEvent(eventStore: eventStore)
            event.title = title
            event.startDate = startDate
            event.endDate = endDate
            event.notes = "Lecture"
            event.calendar = eventStore.defaultCalendarForNewEvents
            //                eventStore.saveEvent(event, span: EKSpanThisEvent, error: nil)
            guard ((try? eventStore.save(event, span: EKSpan.thisEvent, commit: true)) != nil)else{
                print("error  saving event")
                completion(false)
                return
            }
            print("Saved Event")
        }}

当代码第一次运行时,会出现以下错误:

[EventKit] Error getting default calendar for new events: Error Domain=EKCADErrorDomain Code=1019 "(null)" 2018-05-18 00:18:16.586150+0500 SevimFahrschuleMobile[11413:3650672] [EventKit] No object ID provided. Will not find out if the object exists.

但是当我再次运行这段代码时,它就起作用了。 我没有得到。 这里有类似的问题,但解决方案是获得提醒授权,然后保存事件,即

eventStore.requestAccess(to: .reminder) { (<#Bool#>, <#Error?#>) in
        <#code#>
    }

这对我来说听起来完全不合逻辑。

如果您发现第一次失败的任何原因,请告诉我。 谢谢

最佳答案

Info.plist 中添加以下内容:

NSCalendarsUsageDescription
NSRemindersUsageDescription

关于ios - 获取默认日历时出错,仅第一次出现,但之后工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50399190/

相关文章:

ios - 使用 UINavigationController 时 UIStackView 无法设置底部约束

ios - EventKit 从日历中删除事件

ios - 如何过滤数组中的很多项

ios - topLayoutGuide 在 vi​​ewWillAppear 之后应用

iphone - EKEventStore,我需要单独使用 iOS 6 的 EventKit.Framework 吗?

iOS EventKit 附加谓词

ios - 带有 swift 的动画宽度标签

ios - 迪尔德 : Library not loaded with XCFramework for device but works with Simulator

ios - CoreData 谓词 : string property length?

ios - watchKit 中未定义的体系结构符号