EKCalendar不会出现在calendar.app中

时间:2012-02-14 09:12:38

标签: ios xcode ios5

我按照这个回答:how do I create a new EKCalendar on iOS device?

但是我创建的日历没有出现在iPhone手机日历中。应该吗?

也许我有点困惑? :)

代码正常,我可以记录日历等......

3 个答案:

答案 0 :(得分:4)

我发现了另一种更简单且可能更强大的方法。 只需使用新日历的默认日历源。

EKSource *theSource = [eventStore defaultCalendarForNewEvents].source;

来源:https://stackoverflow.com/a/13991658/921573

答案 1 :(得分:3)

我找到了解决方案。问题是,当iCloud日历打开时,它会从日历应用程序中隐藏本地创建的日历。要绕过此问题,解决方案是向iCloud源添加新日历:

    for (EKSource *source in self.eventStore.sources)
    {
        if (source.sourceType == EKSourceTypeCalDAV && [source.title isEqualToString:@"iCloud"])
        {
            localSource = source;
            break;
        }
    }

    if (localSource == nil)
    {
        for (EKSource *source in self.eventStore.sources)
        {
            if (source.sourceType == EKSourceTypeLocal)
            {
                localSource = source;
                break;
            }
        }
    }

答案 2 :(得分:0)

我最近也遇到过同样的问题。 看来,打开iCloud日历会隐藏日历应用程序中本地创建的日历。 除了关闭然后关闭iCloud日历之外,我没有其他解决方案。 如果我发现其他任何事情,我会报告。