iOS 8: происходит сбой приложения при попытке удалить одно событие из календаря устройства
Я использовал EKSpanThisEvent, поэтому при попытке удалить одно событие из календаря устройства происходит сбой. Вместо этого, если я использую EKSpanFutureEvents, это не приводит к сбою, но удаляет все будущие события с тем же eventIdentifier, даже если мы пытаемся удалить одно событие с устройства календарь
Сбой детали как следовать
Ошибка подтверждения в -[EKEvent _deleteThisOccurrence]
Завершение работы приложения из-за необработанного исключения "NSInternalInconsistencyException", причина: "Я облажался где-то в расчете даты"
Я испробовал все решения из всех источников, но, к сожалению, ни один из них не был полезен, любая помощь будет высоко оценена
КОД
if([identifier length] > 0)
{
__block EKEventStore* store = [[EKEventStore alloc] init];
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (!granted) return;
NSDate *eventdate = [commonUnit getSystemTimeZoneDateFromDate:strdate fromFormate:@"yyyy-MM-dd"];
NSPredicate *predicate = [store predicateForEventsWithStartDate:eventdate
endDate:[eventdate dateByAddingTimeInterval:86400]
calendars:nil];
NSMutableArray *events = [NSMutableArray arrayWithArray:[store eventsMatchingPredicate:predicate]];
NSPredicate *predicateidentifier = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"eventIdentifier = '%@'",identifier]];
[events filterUsingPredicate:predicateidentifier];
if (events.count > 0) {
NSError* error = nil;
[store removeEvent:events[0] span:status?EKSpanFutureEvents:EKSpanThisEvent commit:YES error:&error];
if(error == nil)
{
callbackBlock(TRUE);
}
else
{
callbackBlock(FALSE);
}
}
}];
}