1

我正在使用 iPhone 日历做一个简单的应用程序,我需要将 iPhone 本地日历事件导入我的 iPhone 应用程序。我怎样才能做到这一点。我有一段代码,但它似乎不起作用。我已将一些事件添加到我的 iPhone 原生日历中。但是当我检索它并没有获取任何东西时。这是一段代码。

-(IBAction)importCalEvents:(id)sender
{
    NSArray *caleandarsArray = [[NSArray alloc] init];
    caleandarsArray = [[eventStore calendars] retain]; 
    NSLog(@"Calendars from Array : %@", caleandarsArray);

for (EKCalendar *CalendarEK in caleandarsArray) 
 {
    NSLog(@"Calendar Title : %@", CalendarEK.title);    
 }        
}
4

1 回答 1

3

您可以像这样获取所有日历事件。

导入这 2 个框架(如果不存在则添加到您的项目中)。

1 EventKit/EventKit.h

2) EventKitUI/EventKitUI.h

单击按钮时调用此函数

-(void)EventList{

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

    NSDate *startDate = [[NSDate alloc] init];
    NSDate *endDate = [[NSDate alloc] initWithTimeInterval:3600 sinceDate:startDate];

    NSArray *calendars = [eventStore calendars];
    NSPredicate *predicate = [eventStore predicateForEventsWithStartDate:startDate
                                                                 endDate:endDate calendars:calendars];
    NSArray *matchingEvents = [eventStore eventsMatchingPredicate:predicate];
    EKEvent *anEvent;

    NSLog(@"Total Events >> %d",[matchingEvents count]);

    for (int j=0; j < [ matchingEvents count]; j++) {

        anEvent = [matchingEvents objectAtIndex:j];

        NSLog(@"Title >>>%@",anEvent.title);
        NSLog(@"start date is %@ \n End Date is >>> %@",anEvent.startDate,anEvent.endDate);

    }   
}

并根据您的要求设置 startDate 和 EndDate。

所以你可以得到你想要的所有细节。

好运..

于 2012-09-11T09:36:23.920 回答