簡體   English   中英

獲取默認日歷時出錯,僅第一次出現,但此后效果很好

[英]Error getting default calendar, comes only first time but after that works fine

我已經編寫了創建事件的代碼。 代碼很簡單:

    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]獲取新事件的默認日歷時出錯:錯誤域= EKCADErrorDomain代碼= 1019“(空)” 2018-05-18 00:18:16.586150 + 0500 SevimFahrschuleMobile [11413:3650672] [EventKit]未提供對象ID。 不會發現對象是否存在。

但是,當我再次運行此代碼時,它可以工作。 我沒有得到。 這里有一個類似的問題,但是解決方案是獲得提醒的授權,然后保存事件,即

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

這對我來說聽起來完全不合邏輯。

如果您看到任何首次失敗的原因,請告訴我。 謝謝

Info.plist中添加以下內容:

NSCalendars用法說明
NSReminders用法說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM