5

I have added the following code to my app:

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

Why is this not adding anything to the iOS calendar?

Thanks.

pixelbitlabs
  • 1,934
  • 6
  • 36
  • 65
  • 1
    Have you checked for an error? If you wrap the saveEvent call in an if not check you can then `NSLog(@"%@", err);` to see why it fails. – Joe Oct 10 '11 at 20:06
  • 1
    It says: Error Domain=EKErrorDomain Code=3 "No end date has been set." UserInfo=0x178fe0 {NSLocalizedDescription=No end date has been set.} – pixelbitlabs Oct 10 '11 at 20:12

1 Answers1

8

Your event needs a valid time span to save it. Try this

event.startDate = selected;
event.endDate = [selected dateByAddingTimeInterval:30*60]; //30 minutes for example
Joe
  • 56,979
  • 9
  • 128
  • 135