Не могу запросить напоминания в календаре из ekstore

Я пытаюсь получить список напоминаний из календаря, но постоянно получаю сообщение об ошибке. Я могу сделать то же самое с событиями календаря, но когда я пытаюсь изменить его для напоминаний, я сталкиваюсь с проблемами.
Этот код дает сбой в первой строке, чтобы сделать с EKEntityMaskReminder

   _store = [[EKEventStore alloc] initWithAccessToEntityTypes:EKEntityMaskReminder];
        EKCalendar *calendar = [_store calendarWithIdentifier:[self.detailItem valueForKey:@"cal_id"]];
    NSArray *calendarArray = [NSArray arrayWithObject:calendar];
    NSPredicate *predicate = [_store predicateForRemindersInCalendars:calendarArray];
    _eventsList = [_store fetchRemindersMatchingPredicate:predicate completion:nil];

Сообщение об ошибке:

-[EKEventStore initWithAccessToEntityTypes:]: нераспознанный селектор отправлен экземпляру 0x157660

Если я изменю магазин таким образом:

_store = [[EKEventStore alloc] init];

то он терпит неудачу с:

'-[EKEventStore predicateForRemindersInCalendars:]: unrecognized selector sent to instance 0x165c20'

Я могу создать напоминание, если я установил магазин как:

_store = [[EKEventStore alloc] init];

и это отображается в приложении напоминаний.

Кто-нибудь знает, почему я не могу запросить эти напоминания?


person lps    schedule 18.08.2012    source источник


Ответы (1)


Оба селектора, на которых вы получаете ошибки, доступны, начиная с iOS 6. Если вы пытаетесь запустить свою программу для чего-то другого, кроме бета-версии ОС/библиотек, она потерпит неудачу.

(Крайне странно, что initWithAccessToEntityTypes рекомендуется в документации iOS 5.1, хотя и без описания метода.)

person Phillip Mills    schedule 18.08.2012
comment
Спасибо, я рад, что это причина. Я просто не мог понять, что это может быть. - person lps; 18.08.2012
comment
Я предполагаю, что вы собираете iOS 6, иначе компилятор должен был бы пожаловаться, прежде чем вы зашли так далеко. - person Phillip Mills; 18.08.2012