背景模式下的iOS区域监控

时间:2011-06-21 19:22:52

标签: iphone ios location monitor region

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

根据位置意识PG:

  

每次用户的当前位置   穿过边界区域,即系统   生成适当的区域事件   为您的应用程序。如果你的   应用程序已在运行,这些   事件直接发送给代表   任何当前的位置管理器对象   如果您的应用程序未运行,   系统启动它   背景,以便它可以回应。

现在,这个问题是:我的应用程序处于暂停模式,已输入某个区域并应传递触发器,此事件是否会“直接”发送给代理人:

locationManager:didEnterRegion:

??同样的问题,如果应用程序处于后台模式。换句话说,在挂起和后台模式下我是否应该考虑接收此事件的代码?或iOS将首先启动应用程序,然后直接将事件发送给代表,而无需任何BG代码?

3 个答案:

答案 0 :(得分:1)

区域监控如果您处于后台,则在您进入受监控区域时重新启动应用程序。

但是,您必须在应用重新启动后再次配置您的位置管理器。

这样的事情 -

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 ;
    }

答案 1 :(得分:0)

据我所知,区域监控仅适用于iPhone4,它基于改变通信塔的设备。这样,它比标准背景位置更新使用更少的电池。 确保启用了适当的背景模式。只要你实现该代表,就应该准备好了。

答案 2 :(得分:-1)

enter image description here

启用后台模式 在其中启用位置更新和后台提取