保持应用程序在后台模式连续位置更新

我的项目正在使用一个CLLocationManager对象,通过接收更新:locationManager:didUpdateToLocations:

我想要这些更新,即使我的应用程序在后台。 所以在info.plist中,我已经设置了“所需的背景模式”列表到应用程序注册的位置更新。

但是我的testing表明它不会收到后台状态的更新。

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

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

我想这就是为什么它不工作。 但是,如果将info.plist设置为应用程序注册以进行位置更新并不能使应用程序无法进入暂停状态,那我该如何实现?

按Homebutton并按下lockingbutton有什么不同(如果有的话)? 我的意思是明智的。

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

我还是IOS新手,所以我可能忽略了一些东西。

首先,您是否在位置和地图编程指南中学习过“在后台获取位置事件” ?

你有没有检查backgroundRefreshStatus ? 根据这个应用程序允许在后台运行吗?

什么是pausesLocationUpdatesAutomatically的值?

你要求什么准确性? 你是否足够移动以产生精度的变化?

你打电话给startUpdatingLocation吗?

这是iOS 6还是7? 如果是iOS 7,请确保观看会话204:“多任务处理新增function” 已经有了一些变化,现在iOS比以前更关注closures应用程序。