Добавление событий в iCal из приложения для iPhone. В событии нет установленного календаря. Ошибка? - PullRequest
1 голос
/ 02 ноября 2011

У меня есть одна проблема, когда я снова и снова добавляю несколько событий более 70 событий в iCal из нашего приложения для iPhone. Первые 20 событий добавляются в iCal без проблем. После события баланса не добавляются в iCal. Журнал ошибок от iCal показывает

Ошибка, ["Ошибка домена = EKErrorDomain Code = 1" Событие не имеет календаря set. "UserInfo = 0xfada510 {NSLocalizedDescription = Событие не имеет календарь установлен.} ”].

Ниже я прикрепил свой код. Пожалуйста, помогите мне решить эту проблему.

int count = [eventsArray Count];
for(int i=0;i<count;i++)
{
    EKEventStore *eventStore = [[EKEventStore alloc] init]; 
    EKEvent *events = [EKEvent eventWithEventStore:eventStore];

    events.title = @"Apple";
    events.notes = @"Apple iPhone";  
    events.location = @"US";
    events.startDate = today;
    events.endDate   = tomorrow;    
    events.availability = EKEventAvailabilityFree;
    [events setCalendar:[eventStore defaultCalendarForNewEvents]];
    NSError *error;
    [eventStore saveEvent:events span:EKSpanThisEvent error:&error];
    NSLog(@"Error From iCal : %@", [error description]);

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

Количество может быть больше 70 (иногда это будет всего 20-30 событий). Этот код находится в цикле For. Этот код будет выполняться почти более 70 раз. В журнале ошибок iCal отображается ошибка «Это событие не имеет установленного календаря», а eventid возвращает значение «Ноль». Как преодолеть эту проблему. Пожалуйста, помогите мне решить это. Заранее спасибо.

1 Ответ

0 голосов
/ 09 ноября 2011

Большое спасибо за ваши ответы. Я нашел причину проблемы. Проблема возникает только тогда, когда я добавляю несколько событий в iCal одновременно, EKEventStore теряет набор календаря. По этой причине появляется сообщение об ошибке «Ошибка [Ошибка домена» = EKErrorDomain Code = 1 «Событие не имеет установленного календаря». UserInfo = 0xfada510 {NSLocalizedDescription = Событие не имеет установленного календаря.} ”]" Пришло от iCal. Я сделал простое изменение условия цикла. То есть я отложил добавление событий в iCal с интервалом времени 3 секунды для каждого добавление событий (извините за мой плохой английский). Это означает, что все события будут добавлены в iCal после 3-секундной задержки по сравнению с предыдущим событием, добавленным в iCal. Теперь, кажется, работает нормально. Я проверил это состояние и чувствую себя хорошо. Еще раз благодарю всех вас .

Yuvaraj.M

...