首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输入背景时iOS7.1 LocationManager暂停(工作于7.0)

输入背景时iOS7.1 LocationManager暂停(工作于7.0)
EN

Stack Overflow用户
提问于 2014-04-30 12:12:53
回答 2查看 126关注 0票数 1

在这个问题上有点困惑,所以我把它分解成了一个测试应用程序。

简单的单例处理locationManager。我已经打开了定位支持在后台的能力。地图也已启用。

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

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

我需要开始寻找beginBackgroundTaskWithExpirationHandler吗?

更新

代码工作在7.06而不是7.1.1?他们改变了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-30 12:22:14

我相信您必须设置您的应用程序背景模式,以允许位置更新。要做到这一点,请编辑应用程序.plist文件,并将“位置”添加为“必需的后台模式”,请参阅Apple获取更多背景模式(在这里)

票数 2
EN

Stack Overflow用户

发布于 2014-04-30 12:23:53

在appDelegete.m中

代码语言:javascript
复制
- (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;
}

它现在起作用了

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23387792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档