iOS7.1 LocationManager在进入后台时暂停(在7.0中工作)

时间:2014-04-30 12:12:54

标签: ios cllocationmanager

稍微混淆了这个,所以我把它分解为测试应用程序。

简单的单例处理locationManager。我已经在功能背景下打开了位置支持。地图也已启用。

位置管理器一直在运行但是只要我将应用程序放到后台,它就会暂停。

我已经阅读了很多关于人们试图在后台启动位置管理器的帖子,但我的已经在运行了。我假设通过在功能下启用它,它将继续在后台运行。应用程序恢复后,位置管理员也会恢复。

我是否需要开始寻找beginBackgroundTaskWithExpirationHandler?

更新

代码适用于7.06而不是7.1.1?他们改变了什么?

2 个答案:

答案 0 :(得分:2)

我认为您必须设置应用程序后台模式以允许位置更新。要执行此操作,请编辑您的应用.plist文件并添加" location"作为"所需的背景模式"有关更多背景模式(here)

,请参阅Apple文档

答案 1 :(得分:1)

在appDelegate.m

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    [locationmanger startUpdatingLocation];//start your location update method here

//then add this code 
 backgroundTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
        [self endBackgroundTask];
    }];
}

-(void) endBackgroundTask
{
    [[UIApplication sharedApplication] endBackgroundTask:backgroundTask];
    backgroundTask = UIBackgroundTaskInvalid;
}

它现在可以使用