#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. Еще раз большое вам спасибо — вы были очень, очень полезны! У меня все работает… Очень признателен 🙂