申し訳ありませんが!私は答えを見つけました;)
コードは次のとおりです。
EKEventStore *eventStore = [[EKEventStore alloc] init];
NSDate *startDate = [NSDate date];
NSDate *endDate = [NSDate distantFuture];
//NSArray *calendarArray = [NSArray arrayWithObject:defaultCalendar];
NSPredicate *predicate = [eventStore predicateForEventsWithStartDate:startDate
endDate:endDate
calendars:nil];
NSArray *events = [eventStore eventsMatchingPredicate:predicate];
if ([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)])
{
/* iOS Settings > Privacy > Calendars > MY APP > ENABLE | DISABLE */
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error)
{
if ( granted )
{
NSLog(@"User has granted permission!");
NSLog(@"events %@", events);
}
else
{
NSLog(@"User has not granted permission!");
}
}];
}
これは、アプリケーションがカレンダーを取得できるようにすることをユーザーに求めています (デフォルトではすべてのカレンダー)。
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error)