2

カレンダーからリマインダーのリストを取得しようとしていますが、エラーが発生し続けます。カレンダーのイベントでも同様のことができますが、リマインダー用に修正しようとすると問題が発生します。
このコードは、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];

リマインダーアプリに表示されます。

これらのリマインダーを照会できない理由を知っている人はいますか?

4

1 に答える 1

2

エラーが発生しているセレクターは両方とも、iOS 6 以降で利用できます。ベータ版の OS/ライブラリー以外のものに対してプログラムを実行しようとすると、失敗します。

(メソッドの説明がなくても、iOS 5.1 のドキュメントで推奨initWithAccessToEntityTypesされているのは非常に奇妙です。)

于 2012-08-18T14:24:05.357 に答える