2

我运行的情况是,EKEventStore 至少列出了 EKCalendarTypeLocal 类型的本地日历,但没有显示并且无法在 iOS 上的日历应用程序中选择。

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

我发现这可能与 iCloud访问 iOS 设备上以编程方式创建的日历有关。我还成功创建了一个本地日历,并且可以向其中添加事件。EKEventStore 没有列出这个创建的日历,但我得到了它的标识符:

aCal = [eventStore calendarWithIdentifier:calId];

在我删除测试设备中的 iCloud 帐户后,所有本地日历也会显示为我自己创建的。是否有可能检查本地日历是否隐藏?所以我可以写一个信息文本或隐藏它们。

4

1 回答 1

0

你解决了吗?

无论如何,我会尽力回答。

据我了解,iCloud 不允许显示本地日历。如果你打开 iCloud,然后让他重新打开,你会看到一条消息,如“你想将本地日历添加到 iCloud 吗?”,所以......如果问题只是在 iCloud 中查看日历,请提取您的 EKCalendar并在 EKSourceTypeCalDAV 中更改源而不是 EKSourceTypeLocal ...应该没问题

于 2012-12-21T14:56:58.510 回答