我遇到的情况是,EKEventStore至少列出了EKCalendarTypeLocal类型的本地日历,但是没有显示,也无法在iOS上的日历应用中选择。
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 :(得分:0)
你解决了吗?
无论如何,我会尝试回答。
据我所知,iCloud不会让本地日历显示出来。如果你转过iCloud,然后把他带回去,你会看到一条消息,比如“你想把你的本地日历添加到iCloud吗?”,所以...如果问题只是看到iCloud中的日历,请提取你的EKCalendar并改变EKSourceTypeCalDAV中的源而不是EKSourceTypeLocal ...应该没问题