2010-08-14 3 views
0

Salut tout J'utilise le code ci-dessous pour créer un événement:Que signifie cette erreur (lors de la modification de l'événement)?

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"]; 

dans mon téléphone, il fonctionne comme un charme, mais quand un ami dans son iPhone tente des modifications à l'événement, il obtient cette erreur.

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

Maintenant, quelqu'un peut me dire que quelque chose de mal avec mon code ou est-il des paramètres de calendrier qui peut être différent de mon téléphone téléphone et ami.

+1

Quelles sont les dates de fin de fin de démarrage? On dirait que l'événement prend plus de temps que l'intervalle de répétition ... Peut-être vérifier les années. – Eiko

+0

vous pouvez voir les dates de début et de fin dans l'image ci-dessus. Ce n'est pas correct mais on peut le voir quand même. mais dans iphone il n'y a pas de problème avec les modifications. – harshalb

+0

start - 14 août, Repeat mois, intervalle 1, repeat end AUG 14 2023 – harshalb

Répondre

2

Vos dates de fin de fin de démarrage sont de différentes années. Le 14 août est un samedi de cette année, mais votre date de fin montre Moday pour le 14 août.

Il est d'une autre année, ce qui en fait plus d'un mois, ce qui est votre intervalle de répétition.

+0

oui je l'ai vérifié, mais quand je fais les mêmes paramètres dans mon téléphone, il ne justifie pas la toute erreur et accepte comme il est. – harshalb

+1

Les dates sont fausses ... et elles doivent provenir de quelque part. Votre section de répétition montre que le 14 août 2023 est un lundi. Peut-être que c'est lié et que vous avez réussi à peupler le event.endDate avec cette valeur. – Eiko