无法创建新日历EKCalendar没有来源

时间:2017-01-21 04:55:46

标签: ios swift swift3

我正在尝试创建新日历,而不是claendar事件,新日历。

我在网上找到了一个教程并想出了这段代码:

// Create an Event Store instance
        let eventStore = EKEventStore();

        // Use Event Store to create a new calendar instance
        // Configure its title
        let newCalendar = EKCalendar(for: .event, eventStore: eventStore)

        // Probably want to prevent someone from saving a calendar
        // if they don't type in a name...
        newCalendar.title = "Some Calendar Name"

        // Access list of available sources from the Event Store
        let sourcesInEventStore = eventStore.sources

        // Filter the available sources and select the "Local" source to assign to the new calendar's
        // source property
        newCalendar.source = sourcesInEventStore.filter{
            (source: EKSource) -> Bool in
            source.sourceType.rawValue == EKSourceType.local.rawValue
            }.first!

        // Save the calendar using the Event Store instance
        do {
            try eventStore.saveCalendar(newCalendar, commit: true)
            UserDefaults.standard.set(newCalendar.calendarIdentifier, forKey: "EventTrackerPrimaryCalendar")
            delegate?.calendarDidAdd()
            self.dismiss(animated: true, completion: nil)
        } catch {
            let alert = UIAlertController(title: "Calendar could not save", message: (error as NSError).localizedDescription, preferredStyle: .alert)
            let OKAction = UIAlertAction(title: "OK", style: .default, handler: nil)
            alert.addAction(OKAction)

            self.present(alert, animated: true, completion: nil)
        }

问题是应用程序崩溃时出现以下错误:致命错误:在解包可选值时意外发现nil。

我做了一些调试,发现这条线正在崩溃:

newCalendar.source = sourcesInEventStore.filter{
                (source: EKSource) -> Bool in
                source.sourceType.rawValue == EKSourceType.local.rawValue
                }.first!

我的EKEventStore来源似乎是空的。

我将此添加到我的plist中 - 隐私 - 日历使用说明价值&隐私 - 日历使用说明(隐私 - 使用$(PRODUCT_NAME)日历活动的日历使用说明,但我的应用仍然崩溃,请提供帮助。

更新

我的iCloud完全关闭,我100%退出iCloud,仍然没有本地来源,我得到同样的错误。

0 个答案:

没有答案