Событие не имеет ошибки набора календаря при добавлении в iCal из приложения iPhone?

Я новичок в разработке приложений для iPhone. Теперь я борюсь с добавлением события в iCal из приложения iPhone. Проблема заключается в том, что при добавлении более 70 событий (повторяющихся событий) в iCal события не добавляются в iCal. iCal через сообщение об ошибке ["Error Domain=EKErrorDomain Code=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);

Иногда идентификатор события возвращает значение null, а [описание ошибки] показывает ошибку ["Домен ошибки = EKErrorDomain Code = 1 "Для события не установлен календарь". UserInfo = 0xfada510 {NSLocalizedDescription = Для события не установлен календарь.}"]. Как решить эту проблему? Есть идеи? Спасибо, что потратили на меня свое драгоценное время...


person Gopinath    schedule 02.11.2011    source источник


Ответы (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);
person Jazzmine    schedule 08.01.2012