2

アプリがバックグラウンドにある間にカレンダーが変更されたかどうかを確認するために、EKEventStoreChangedNotification をリッスンしようとしています。

次のように、ビュー コントローラーの initWithNibMethod にオブザーバーを登録します。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(calendarChanged:) name:EKEventStoreChangedNotification object:nil];

calendarChanged メソッドは、コンソールにメッセージを記録して、呼び出されたかどうかを確認するだけです。

問題は、オブザーバー メソッドが呼び出されないことです (オブザーバー オブジェクトは引き続き有効です)。私が理解していることから、アプリがバックグラウンド実行を行うように登録されていない限り (私のアプリはこのように設定されていません)、そのタイプの通知はフォアグラウンドに入ったときに結合して配信する必要があります。

4

1 に答える 1

3

"object:" は、使用している EventStore オブジェクトで設定する必要があると思います。

はい、バックグラウンドにいる間は呼び出されませんが、アプリがフォアグラウンドになったときに「calendarChanged:」セレクターが呼び出されます。

于 2011-02-09T16:02:02.473 に答える