최근에 iOS7의 EKEventStore에서 EKCalendar 객체를받지 못했습니다. iOS 6.x.x에서는 동일한 코드 스 니펫에 문제가 없습니다. defaultCalendarForNewEvents에 액세스하려고 할 때 - 예상대로 단일 EKCalendar 객체를받습니다.iOS7의 EKEventStore에서 EKCalendars를 검색 할 수 없습니다.
엔티티 유형 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]];
}
나는 calendarsArray에 0 오브젝트를받을 수 없습니다. 나는 또한 Local 또는 CalDAV 타입의 모든 EKSources를 ("source calendarsForEntityType :"- 같은 공백 (0 개 객체 포함) 세트가 있음) "실행"하여 얻으려고했다.
그건 그렇고 - 캘린더에 대한 액세스 권한이 부여됩니다.
제안 사항?
iPhone 4 및 iPhone 5 (둘 다 iOS 7.0.3 실행)에서 발생합니다. 또한 두 장치 모두 CalDAV를 통해 두 개의 캘린더가 추가로 연결됩니다. – Robert
또한 다른 테스트 (addtional app 작성 등)를 실행하는 중 로컬 저장소에 달력을 만들 수없는 것으로 나타났습니다. – Robert