iPhone - 如何将本机日历事件导入我的iPhone应用程序?

时间:2012-09-11 08:50:42

标签: iphone calendar

我正在使用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);    
 }        
}

1 个答案:

答案 0 :(得分:3)

您可以像这样获取所有日历活动。

导入这两个框架(如果项目中没有,则添加)。

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。

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

祝你好运..