2015-11-10 27 views
0

我試圖用EKSourceTypeLocal源創建日曆。遍歷self.eventStore.sources,找到sourceType == .Local並嘗試使用它創建新日曆。保存本地EKCalendar沒有錯誤,消失

self.calendar = EKCalendar(forEntityType: EKEntityType.Event, eventStore: self.eventStore) 
self.calendar?.title = "My Awesome Calendar" 
self.calendar?.source = src // src.sourceType == .Local 
print("Created \(self.calendar!)") 
do { 
    try self.eventStore.saveCalendar(self.calendar!, commit: true) 
} catch let err as NSError { 
     print("Whoops: \(err)") 
} 

執行沒有問題,並允許我添加一些事件到該日曆以及。但是,當我切換到本機日曆應用程序時,如果我在上述內容完成後查詢self.eventStore.calendarsForEntityType(EKEntityType.Event),那麼這個新應用程序不在那裏,如果我重新啓動應用程序,我創建的日曆和所有事件都無處被發現。發生了什麼?

回答

1

如果您的設備上有其他來源的日曆活動,則在Apple Calendars應用中將不會顯示類型爲EKSourceTypeLocal的日曆。

此外,當其他日曆源處於活動狀態時,事件存儲將不會顯示本地日曆。

如果您取消激活其他日曆,則應該能夠在日曆應用程序和事件存儲中查看保存的本地日曆。

我假設你的應用程序具有使用requestAccessToEntityType:completion:獲得的必要權限。

相關問題