XCode: почему мое событие не добавляется в календарь?

#objective-c #ios #xcode #uidatepicker #eventkit

#objective-c #iOS #xcode #uidatepicker #eventkit

Вопрос:

Я добавил следующий код в свое приложение:

 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:amp;err];
  

Почему это ничего не добавляет в календарь iOS?

Спасибо.

Комментарии:

1. Вы проверили наличие ошибки? Если вы обернете вызов saveEvent в if not check, вы сможете NSLog(@"%@", err); узнать, почему он завершается неудачей.

2. В нем говорится: Ошибка Domain = EKErrorDomain Code = 3 «Дата окончания не установлена». userInfo=0x178fe0 {NSLocalizedDescription= Дата окончания не установлена.}

Ответ №1:

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

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

Комментарии:

1. Еще раз большое вам спасибо — вы были очень, очень полезны! У меня все работает… Очень признателен 🙂