当前位置:  开发笔记 > IOS > 正文

创建日历,即使关闭iCloud也没有本地来源

如何解决《创建日历,即使关闭iCloud也没有本地来源》经验,为你挑选了1个好方法。



1> JAL..:

一些问题:

您的代码崩溃了,因为您first从一个空的数组中强制解包.以下是一些建议,以确保EKSource对象数组返回非空数组.

首先,要求用户访问使用他们的日历requestAccess(to:)上的一个EKEventStore实例.其次,使用an if let从过滤后的数组中展开可能的可选值:

let eventStore = EKEventStore()

eventStore.requestAccess(to: .event) { (granted, error) in
    if granted {
        let newCalendar = EKCalendar(for: .event, eventStore: eventStore)

        newCalendar.title = "Some Calendar Name"

        let sourcesInEventStore = eventStore.sources

        let filteredSources = sourcesInEventStore.filter { $0.sourceType == .local }

        if let localSource = filteredSources.first {
            newCalendar.source = localSource
        } else {
            // Somehow, the local calendar was not found, handle error accordingly
        }

    } else {
        // check error and alert the user
    }
}

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有