是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 =该事件没有设置日历。} “]。如何解决这个问题?有什么想法吗?感谢您将宝贵的时间花在我身上......
答案 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);