EKEvent为ios 5应用程序创建事件?

时间:2011-10-27 04:57:29

标签: iphone

我正在使用EKEventStore将我的应用程序中的事件添加到iphone日历中,它适用于ios版本4.2的设备,并且从我的应用程序中将事件完美地添加到ical中但是当我在ipod中安装相同的应用程序时ios版本5,奇怪的是事件没有添加到ical中,这是我添加事件的功能,

-(void)icall_add{


 //daily_trackAppDelegate *controller2 =(daily_trackAppDelegate *) [[UIApplication sharedApplication] delegate];
    EKEventStore *eventStore = [[EKEventStore alloc] init];

    EKEvent *event  = [EKEvent eventWithEventStore:eventStore];
    event.title     = text2.text;
    //event.attendees = controller2.who;
    event.notes= text3.text;


    //controller2.new_event_title = @"";
    //controller2.new_recent_location = @"";


    event.startDate = mydatepicker.date;
    //event.endDate   = [[NSDate alloc] initWithTimeInterval:3600 sinceDate:event.startDate];
    event.endDate = mydatepicker.date;

    [event setCalendar:[eventStore defaultCalendarForNewEvents]];
    NSError *err;
    [eventStore saveEvent:event span:EKSpanThisEvent error:&err];  
    daily_trackAppDelegate *controller2 =(daily_trackAppDelegate *) [[UIApplication sharedApplication] delegate];

    text1.text = @"";
    text2.text = @"";
    text3.text = @"";
    controller2.who = @"";
    controller2.new_event_title = @"";
    controller2.new_recent_location = @"";
}

请指导那个问题如何解决它,提前知道,问候Saad。

3 个答案:

答案 0 :(得分:2)

我只检查您的代码,您要为新事件添加开始日期和结束日期并保存。我怀疑开始和结束日期,它不能相同,至少时间的差异是事件发生的必要条件。只需使用不同的时间间隔指定开始日期和结束日期。

答案 1 :(得分:1)

这是答案

EKEvent开始时间和结束时间不应相同。 它不允许在iOS 4及更早版本中添加事件 但它会允许在iOS 5中添加事件。

添加至少一秒以使开始日期和结束日期之间有所不同。

   NSDate *endDate = [startDate dateByAddingTimeInterval:1];

答案 2 :(得分:0)

我希望你知道在iOS 5中,他们对添加事件的方法进行了一些更改,制作了重复规则等,检查苹果文档以摆脱它。我也正在研究它,一旦我发现它我可以在这里发布。