我在我的应用程序中使用区域监控,但遇到了一个问题,但找不到任何答案。区域监控在后台模式下如何工作?
根据位置感知 PG 的说法:
每次用户的当前位置
跨越边界区域,系统
生成适当的区域事件
为您的应用程序。如果你的
应用程序已经在运行,这些
活动直接发送至代表
任何当前位置管理器对象。
如果您的应用程序没有运行,
系统将其启动于
背景,以便它可以响应。
现在,这个问题是:我的应用程序处于挂起模式,已输入一个区域并且应该传递触发器,此事件是否将“直接”发送到委托:
locationManager:didEnterRegion:
??如果应用程序处于后台模式,同样的问题。换句话说,我应该考虑在挂起和后台模式下使用任何代码来接收此事件吗?或者iOS将首先启动应用程序,然后直接将事件发送给委托而不需要任何BG代码?
区域监控 如果您处于后台,则当您进入受监控区域时重新启动您的应用程序。
但是,在应用程序重新启动后,您必须再次配置位置管理器。
像这样的东西-
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 ;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)