Недавно я узнал, что не получаю никаких объектов EKCalendar из EKEventStore в iOS7. В iOS 6.x.x нет проблем с одним и тем же фрагментом кода. Когда я пытаюсь получить доступ к defaultCalendarForNewEvents, я получаю один объект EKCalendar (как и ожидалось).
Я запрашиваю доступ к объекту типа EKEntityTypeEvent.
Фрагмент:
__block NSMutableArray *calendarsArray = nil;
if ([self.eventsStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]) {
[self.eventsStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (granted) {
EKAuthorizationStatus status = [EKEventStore authorizationStatusForEntityType:EKEntityTypeEvent];
if (status == EKAuthorizationStatusAuthorized) {
calendarsArray = [[NSMutableArray alloc] initWithArray:[self.eventsStore calendarsForEntityType:EKEntityMaskEvent]];
}
} else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error!" message:@"You haven't granted access to calendars. Expected things are not going to happen." delegate:nil cancelButtonTitle:@"I understand" otherButtonTitles:nil];
[alert show];
}
}];
} else {
calendarsArray = [NSMutableArray arrayWithArray:[self.eventsStore calendarsForEntityType:EKEntityTypeEvent]];
}
Я получаю 0 объектов в calendarsArray. Я также пытался получить его, "пропустив" все EKSources типа Local или CalDAV ([source calendarsForEntityType:] - получил тот же пустой набор (0 объектов, содержащих)).
Кстати - доступ к календарям ДАЕТСЯ.
Какие-либо предложения?