在后台模式下的iOS区域监控

我在我的应用程序中使用区域监视,我面临一个问题,我找不到任何答案。 区域监控如何在后台模式下工作?

根据地点意识PG:

每当用户的当前位置穿过边界区域,系统就会为您的应用程序生成适当的区域事件。 如果您的应用程序已经运行,则这些事件直接转到任何当前位置pipe理器对象的委托。 如果您的应用程序没有运行,系统将在后台启动它,以便它可以响应。

现在,这个问题是:我的应用程序处于暂停模式,一个区域已经被input,并且应该传递一个触发器,这个事件是否会直接发送给委托人:

locationManager:didEnterRegion: 

?? 同样的问题,如果应用程序在后台模式。 换句话说,有什么代码我应该考虑在暂停和后台模式来接收这个事件? 或者iOS将首先启动应用程序,然后将事件直接发送给代理,而不需要BG代码?

区域监控如果您在后台进入监控区域,请重新启动您的应用程序。

但是在应用程序重新启动后,您必须再次configuration您的位置pipe理器。

像这样的东西 –

 if ([launchOptions objectForKey:UIApplicationLaunchOptionsLocationKey] ) { NSLog(@"Relaunched due to location update"); NSLog(@"app woke up times ---- %d",ForTest); NSLog(@"Starting the location manager"); self.locmanager = [[CLLocationManager alloc] init]; [self.locmanager startMonitoringForRegion:(CLRegion)*region]; // self.locmanager.pausesLocationUpdatesAutomatically = YES ; } 

据我所知,地区监测只适用于iPhone4,它是基于设备改变通信塔。 这样它使用比标准的后台位置更新更less的电池。 确保你启用了适当的背景模式。 只要你实施这个委托,你应该准备好去。

在这里输入图像说明

启用后台模式,启用位置更新和后台提取