EKEventStore クエリからのイベントの保存に問題があります。たとえば、次のコードを使用する場合、eventsは常に nil です。
__block NSArray *events = [[NSArray alloc] init];
if ([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]) {
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
if (granted)
events = [eventStore eventsMatchingPredicate:predicate];
});
}];
}
[eventStore eventsMatchingPredicate:predicate] がブロック内に NSLog を配置したかのようにイベントを返していることを知っているので、イベントの詳細を確認できます。結果の保持に問題があるようです。ご覧のとおり、メインスレッドで試してみましたが、役に立ちませんでした。
私は違いを生む可能性のあるARCを使用しています。
ありがとう