2012-10-22 107 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