全新安装后,EKEventStore.calendars始终为空

时间:2019-11-15 09:09:03

标签: swift ekeventstore

我的iOS应用存在一个奇怪的问题,在全新安装后,如果我尝试添加日历事件(在接受本机日历权限提示后),则我的eventStore单例永远不会显示任何可用的日历,并且{{1} }始终为defaultCalendarForNewEvents

我已经尝试调试它,奇怪的是,如果我尝试nil,则可以看到它们的全部内容(仍然是全新安装)。

如果我随后终止该应用程序并重新打开它,则我的eventStore单例突​​然开始按预期方式工作。

我不确定以前是否已记录过此行为,这对我来说似乎很奇怪,而且我找不到与此特定问题有关的其他帖子...

下面是我的po EKEventStore().calendars(for: .event)类的摘要以及如何声明eventStore单例。

CalendarManager

再往下,我遇到问题的代码:

class CalendarManager {
    // MARK: Variables
    static let sharedInstance = CalendarManager()
    fileprivate init() { }

    let eventStore = EKEventStore()

    // further business logic...
}

我在做什么错了?

1 个答案:

答案 0 :(得分:2)

确保在请求日历权限之前没有初始化EKEventStore。

相关问题