アプリケーションで Web サービスからイベントを取得します。すべてのイベントには一意の識別子があります。
ユーザーがそのイベントをネイティブ カレンダーにプッシュしたい場合は、そのイベントをネイティブに保存しますが、EKEvent オブジェクトの eventIdentifier プロパティを設定できないため、そのイベントがネイティブ カレンダーに既に存在するかどうかを知るにはどうすればよいでしょうか。
EKEvent をサブクラス化し、独自の識別子を追加してみました
eventStore = [[EKEventStore alloc] init];
MyEvent *event = [MyEvent eventWithEventStore:eventStore];
event.myEventIdentifier = @"MyEventIdentifier";
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
event.startDate = [NSDate date];
event.endDate = [NSDate dateWithTimeIntervalSinceNow:10000];
event.title = @"MyEventTitle";
[eventStore saveEvent:event span:EKSpanThisEvent error:nil];
しかし、イベントオブジェクトを取得すると、サブクラスオブジェクトを取得できず、呼び出したときに例外がスローされました
[event valueForKey:@"MyEventIdentifier"];
ご覧のとおり、EKEvent クラスで eventIdentifier プロパティを設定できず、EKEvent のサブクラス化も機能しません。
必要な機能を実現するにはどうすればよいですか、何か提案はありますか?