Ios 当应用程序关闭时,如何在EKEventStore中检测?

Ios 当应用程序关闭时,如何在EKEventStore中检测?,ios,objective-c,core-data,ekevent,Ios,Objective C,Core Data,Ekevent,在我的应用程序中,当用户运行应用程序时,我将获取EKEventStore中的事件并将它们保存在CoreData中。 对于上的这一点,我只想在事件存储中有任何更改时从EventStore获取事件 我使用EKEventStoreChangedNotification,当我的应用程序处于后台时,在日历中添加事件时,它可以正常工作。但当应用程序关闭时,它不工作 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithO

在我的应用程序中,当用户运行应用程序时,我将获取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
}

你有没有试着让一个观察者进来

- (void)applicationDidEnterBackground:(UIApplication *)application
{

}

你的AppDelegate?

我想这只会在我的应用程序处于后台运行时起作用,但如果我的应用程序甚至没有运行(甚至没有在后台运行),当你的应用程序处于非活动状态时,就没有机会对新事件作出反应。每次运行应用程序时,您都必须检查EKEventStore。