2012-10-22 156 views
2

我運行的情況是至少EKCalendarTypeLocal類型的本地日曆由EKEventStore列出,但未顯示,並且無法在iOS上的日曆應用程序中選擇。如何檢查EKCalendar是否可見

if ([eventStore respondsToSelector:@selector(calendarsForEntityType:)]) cals = [eventStore calendarsForEntityType:EKEntityTypeEvent]; 
else cals = eventStore.calendars; 

我發現它可能與iCloud Accessing programmatically created calendar on iOS device有關。 我也成功創建了本地日曆,並且可以向它添加事件。這個創建的日曆不是由EKEventStore列出,但我與它的標識符得到它:

aCal = [eventStore calendarWithIdentifier:calId]; 

之後我刪除在檢驗設備的iCloud帳戶的所有本地日曆也顯示我自己的創造。有沒有可能檢查本地日曆是否隱藏?所以我可以寫一個信息文本或隱藏它們。

回答

0

你解決了嗎?

無論如何,我會盡力回答。

據我瞭解,iCloud不要讓本地日曆顯示。如果你轉過了iCloud,然後再回到你身邊,你會看到一條消息,比如「你是否想把你的本地日曆添加到iCloud?」,所以......如果問題只是看到iCloud中的日曆,請提取你的EKCalendar並改變源EKSourceTypeCalDAV而不是EKSourceTypeLocal ...應該沒問題

+0

歡迎來到堆棧溢出!你能否提供一個代碼示例? – IronMan84

+0

謝謝你的歡迎:)請在這裏看到我的答案http://stackoverflow.com/questions/13869118/ios-ekevent-store-recreating-icloud-calendars-in-a-loop-wont-save-local/13991658# 13991658 – Alex75