从iPhone应用程序添加到iCal时,事件没有发生日历设置错误?

时间:2011-11-02 06:39:58

标签: iphone events icalendar

是iPhone App开发的新手。现在,我正在努力从iPhone应用程序向iCal添加事件。问题是在向iCal添加超过70个事件(重复事件)时,事件未添加到iCal中。通过错误消息的iCal是[“错误域= EKErrorDomain代码= 1”该事件没有设置日历。“UserInfo = 0xfada510 {NSLocalizedDescription =该事件没有设置日历。}”。如何解决这个问题?你能吗?请指导我解决这个问题?我做错了什么?谢谢你的进步。

这是我的代码......

EKEventStore *eventStore = [[EKEventStore alloc] init]; 
EKEvent *events = [EKEvent eventWithEventStore:eventStore];

events.title = @"Title";
events.notes = @"Descriptions";  
events.location = @"Location";
events.startDate = DATE;
events.endDate   = endDates;    
events.availability = EKEventAvailabilityFree;
[events setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:events span:EKSpanThisEvent error:&err];
NSLog(@"Error From iCal : %@", [err description]);

NSString *eventID = [[NSString alloc] initWithFormat:@"%@", events.eventIdentifier];
NSLog(@"EventID : %@", eventID);

有时eventID返回null并且[错误描述]显示错误[“错误域= EKErrorDomain代码= 1”该事件没有设置日历。“UserInfo = 0xfada510 {NSLocalizedDescription =该事件没有设置日历。} “]。如何解决这个问题?有什么想法吗?感谢您将宝贵的时间花在我身上......

1 个答案:

答案 0 :(得分:1)

不知道你是否在此期间解决了这个问题,但如果没有,看起来你需要首先找到并分配一个日历,如下所示:

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

EKCalendar *targetCalendar = nil;
targetCalendar = [eventStore defaultCalendarForNewEvents];

if (targetCalendar == nil){
    NSLog(@"The target calendar is nil.");

    //do an alert with only an OK - test this

    [eventStore release];
    return;
}   

NSLog(@"The target calendar is %@.", targetCalendar);