我的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...
}
我在做什么错了?
答案 0 :(得分:2)
确保在请求日历权限之前没有初始化EKEventStore。