2014-10-22 1 views
1

EKEventStore에서 이상한 동작이 발생합니다.calendarsForEntityType 반환 빈 배열

  1. 앱을 시작했지만 내 캘린더에 대한 액세스를 허용하지 않았습니다.
  2. "Granted = NO"로 내 캘린더에 접근 할 수 없습니다.
  3. 앱을 죽였습니다.
  4. 설정에 갔고 캘린더에 액세스 할 수있게되었습니다.
  5. 응용 프로그램을 다시 실행하면 이제 "Granted = YES"가 표시되지만 [self.store calendarsForEntityType : EKEntityTypeEvent]는 빈 배열을 반환합니다.

self.store가 0이 아니며 내 캘린더에 Calendars 개체가 있는지 확인했습니다. 그 밖의 무엇이있을 수 있 었는가?

+0

'EKEntityTypeReminder'유형도 확인하십시오. 아마 당신의 캘린더 객체는'EKEntityTypeEvent' 유형이 아닙니다. – deimus

+0

Nope ... 다른 것? –

답변

0

문제는 분명히 self.store에 있습니다. 어떻게 구성합니까? 당신은 당신이 calendarsForEntityType

EKSource 클래스의 인스턴스를 호출 할 수있는 EKSource 유형의 배열입니다 EKEventStore 객체의 sources 속성을 검색해야하는 documentation을 바탕으로

는 그 계정을 나타냅니다 캘린더가 속합니다. 이 클래스의 인스턴스는 만들지 않습니다. EKEventStore 개체에서 EKSource 개체를 검색합니다. 소스 소스를 사용하여 이벤트 저장소에 대한 모든 EKSource 오브젝트를 가져오고이 클래스의 메소드 을 사용하여 소스 오브젝트의 특성에 액세스하십시오.