При добавлении в iCal из приложения iPhone в событии отсутствует ошибка установки календаря? - PullRequest
0 голосов
/ 02 ноября 2011

Я новичок в разработке приложений для 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);

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

1 Ответ

1 голос
/ 08 января 2012

Не знаю, решили ли вы эту проблему за это время, но если нет, похоже, вам нужно сначала найти и назначить календарь, как показано ниже:

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);
...