2011-10-10 8 views
5

Ho aggiunto il seguente codice alla mia app:XCode: perché il mio evento non viene aggiunto al calendario?

NSDate * selected = [DatePicker date]; 
NSString * date = [selected description]; 

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit 
                   fromDate:DatePicker.date]; 

CalLabel1.text = [NSString stringWithFormat:@"%d", [components day]]; 

EKEventStore *store = [[EKEventStore alloc] init]; 

EKEvent *event = [EKEvent eventWithEventStore:store]; 
event.title = @"Test Event"; 
//required 
event.startDate = [DatePicker date]; 
event.endDate = [DatePicker date]; 
event.calendar = store.defaultCalendarForNewEvents; 
//end 

NSError *err; 
[store saveEvent:event span:EKSpanThisEvent error:&err]; 

Perché questo non aggiungere nulla al calendario iOS?

Grazie.

+1

Hai verificato un errore? Se si avvolge la chiamata saveEvent in un controllo if se non è possibile, allora 'NSLog (@"% @ ", err),' per vedere perché fallisce. – Joe

+1

Dice: Error Domain = EKErrorDomain Code = 3 "Nessuna data di fine è stata impostata." UserInfo = 0x178fe0 {NSLocalizedDescription = Nessuna data di fine è stata impostata.} – pixelbitlabs

risposta

8

Il tuo evento necessita di un intervallo di tempo valido per salvarlo. Prova questo

event.startDate = selected; 
event.endDate = [selected dateByAddingTimeInterval:30*60]; //30 minutes for example 
+0

Ancora una volta, grazie mille - sei stato molto molto utile! Funziona tutto per me ... Molto apprezzato :-) – pixelbitlabs