В моем приложении я извлекаю EKEventStore для событий и сохраняю их локально в CoreData в первый раз, когда пользователь запускает приложение. На данный момент я хочу получать события из EventStore только тогда, когда в хранилище событий есть какие-либо изменения.
Я использовал EKEventStoreChangedNotification, и он отлично работает, когда я добавляю событие в календарь, когда мое приложение находится в фоновом режиме. Но это не работает, когда приложение закрыто.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.eventStore = [[EKEventStore alloc]init];
[self.eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
if (granted) {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(storeChanged:)
name:EKEventStoreChangedNotification
object:self.eventStore];
}
}];
return YES;
}
-(void)storeChanged:(NSNotification *)notif {
// Update core data
}