2010-08-14 2 views
0

Привет, все, что я использую внизу код для создания события:Что означает эта ошибка (при изменении события)?

EKEvent * oneLabEvent = [EKEvent eventWithEventStore: eventStore];

oneLabEvent.calendar = eventStore.defaultCalendarForNewEvents; 
oneLabEvent.title = [ddEvent valueForKey:@"ddname"]; 
oneLabEvent.allDay = NO; 

oneLabEvent.startDate = [ddEvent valueForKey:@"startDate"]; 
oneLabEvent.endDate = [ddEvent valueForKey:@"endDate"]; 


//setting the alarm for the event 

EKAlarm * alarm = [EKAlarm alarmWithRelativeOffset:0]; 
oneLabEvent.alarms = [NSArray arrayWithObject:alarm]; 

//setting the Reuccurence rule 
EKRecurrenceRule * recurrenceRule = [[EKRecurrenceRule alloc] 
            initRecurrenceWithFrequency:EKRecurrenceFrequencyMonthly 
            interval:1 
            end:nil]; 
if (oneLabEvent.endDate != nil) { 
    EKRecurrenceEnd * end = [EKRecurrenceEnd recurrenceEndWithEndDate:oneLabEvent.endDate]; 
    recurrenceRule.recurrenceEnd = end; 
}else { 
    oneLabEvent.endDate = oneLabEvent.startDate; 
} 



oneLabEvent.recurrenceRule = recurrenceRule; 
[recurrenceRule release]; 

NSError *error; 

BOOL saved = [eventStore saveEvent:oneLabEvent span:EKSpanThisEvent error:&error]; 
if (!saved && error) { 
    NSLog(@"Error while saving the event:%@",[error localizedDescription]); 
} 

[ddEvent setValue:oneLabEvent.eventIdentifier forKey:@"eventID"]; 

в моем телефоне работает как шарм, но когда друг в своем телефоне пытается изменения в случае, если он получает эту ошибку.

alt text http://img208.imageshack.us/img208/8850/photot.png

Теперь может кто-нибудь сказать мне, что ничего плохого с моим кодом или есть какая-либо настройка календаря, которые могут отличаться от моего телефона и друг телефона.

+1

Каковы начальные даты окончания? Похоже, что событие занимает больше времени, чем интервал повторения ... Возможно, проверьте годы. – Eiko

+0

вы можете увидеть дату начала и окончания на изображении выше. это не правильно, но вы можете это увидеть. но в iphone нет проблем с изменениями. – harshalb

+0

start - 14 августа, повтор-ежемесячно, интервал-1, конец повтор авг 14 2023 – harshalb

ответ

2

Ваши начальные конечные даты начинаются с разных лет. 14 августа - суббота этого года, но ваша дата окончания показывает Moday за 14 августа.

Таким образом, это из другого года, что делает его более одного месяца, что является вашим интервалом повторения.

+0

да, я проверил это, но когда я делаю те же настройки в своем телефоне, он не запускается любая ошибка и принимает как есть. – harshalb

+1

Даты неправильные ... и они должны откуда-то приехать. Ваш повторный раздел показывает, что 14 августа 2023 года - понедельник. Возможно, это связано, и вам каким-то образом удалось заполнить event.endDate этим значением. – Eiko