将应用程序保持在后台模式以进行连续的位置更新

时间:2013-09-20 21:04:27

标签: ios ios-background-mode

我的项目正在使用CLLocationManager对象,通过以下方式接收更新: 的LocationManager:didUpdateToLocations:

即使我的应用程序在后台,我也想要这些更新。因此,在info.plist中,我已将“所需的后台模式”列表设置为App寄存器以进行位置更新。

但是我的测试显示它没有在后台状态下收到更新。

但是,我不确定我对背景状态/暂停状态有正确的看法。 这就是我认为它的工作原理:

After the home button is pressed, the app enters background mode for 5 seconds, 
and then enter suspended state.

我想这就是它无法正常工作的原因。但是如果将info.plist设置为“”应用程序寄存器以进行位置更新“并不能使应用程序无法达到暂停状态,那么我该如何实现呢?

按Home键并按下锁定键有什么区别(如果有的话)?我的意思是国家。

我已阅读本指南的相关部分:http://www.raywenderlich.com/29948/backgrounding-for-ios

我还是IOS的新手,所以我可能忽视了一些事情。

1 个答案:

答案 0 :(得分:1)

首先,您是否在Location and Maps Programming Guide

中学习了“在后台获取位置事件”

您检查过backgroundRefreshStatus吗?这个应用程序是否允许根据它在后台运行?

pausesLocationUpdatesAutomatically的价值是什么?

您要求的准确度是多少?你是否已经充分发挥了相应的准确性?

您是否致电startUpdatingLocation

这是iOS 6还是7?如果是iOS 7,请务必观看会话204:“多任务有什么新内容?”有一些变化,iOS现在关闭应用程序比以前更积极。