Ios6 predicateForEventsWithStartDate:endDate:calendars:EKEventStore不';行不通

Ios6 predicateForEventsWithStartDate:endDate:calendars:EKEventStore不';行不通,ios6,ekevent,ekeventstore,Ios6,Ekevent,Ekeventstore,我已将28个EKEvent保存在此范围日期2012-01-01和2013-01-18的EKCalendar中,EKEvent都已存储,我可以在iCloud的iOS日历中看到它,然后我想检索2012-01-01和2013-01-18范围内的所有EKEvent,我使用EKEventStore的此方法: predicateForEventsWithStartDate:endDate:calendars: 这是日历中的NSPredicate to fetch事件,我传递的起始日期为2012-01-01

我已将28个EKEvent保存在此范围日期2012-01-01和2013-01-18的EKCalendar中,EKEvent都已存储,我可以在iCloud的iOS日历中看到它,然后我想检索2012-01-01和2013-01-18范围内的所有EKEvent,我使用EKEventStore的此方法:

predicateForEventsWithStartDate:endDate:calendars:
这是日历中的NSPredicate to fetch事件,我传递的起始日期为2012-01-01,结束日期为2013-01-18,因此返回EKEvent的数组只有8个元素,所以我的问题是为什么它找不到所有28个事件?我怎么了

编辑:

这是我使用的完整代码:

NSDate* sourceDate2 = [dateFormat dateFromString:@"2012/01/01"];


    NSTimeZone* sourceTimeZone2 = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
    NSTimeZone* destinationTimeZone2 = [NSTimeZone systemTimeZone];

    NSInteger sourceGMTOffset2 = [sourceTimeZone2 secondsFromGMTForDate:sourceDate2];
    NSInteger destinationGMTOffset2 = [destinationTimeZone2 secondsFromGMTForDate:sourceDate2];
    NSTimeInterval interval2 = destinationGMTOffset2 - sourceGMTOffset2;

    NSDate* destinationDate2 = [[NSDate alloc] initWithTimeInterval:interval2 sinceDate:sourceDate2];

    NSTimeInterval time2 = floor([destinationDate2 timeIntervalSinceReferenceDate] / 86400.0) * 86400.0;

    NSDate *startDate = [NSDate dateWithTimeIntervalSinceReferenceDate:time2];
然后我使用相同的代码创建2013-01-18日期,即结束日期,然后我执行以下操作:

EKEventStore *eventStore = [[EKEventStore alloc] init];

NSPredicate *predicateEvent = [eventStore predicateForEventsWithStartDate:startDate endDate:endDate calendars:[eventStore calendarsForEntityType:EKEntityTypeEvent]];

NSArray *eventArray = [eventStore eventsMatchingPredicate:predicateEvent];

eventArray只包含8个元素…其他20个元素在哪里?请让我疯了,有人能帮我吗?

在您的设备上,转到:
设置>邮件、联系人、日历
,然后在
日历
子部分下转到
同步>所有事件
。不仅仅是过去30天、60天等的事件。

28个
EVEvent
s是否在同一
EKCalendar
中?你可以发布完整的代码来获取你的
EKEvent
s吗?是的在同一个日历中…否也不起作用如果我保存事件标识符并用标识符检索事件,返回null..我已经编辑了问题谢谢你的回答,我没有尝试你的解决方案是否有效,但我有一个问题,如果我在app store上发布我的应用程序,我无法在每个用户设备上更改该选项:)