我的项目正在使用 CLLocationManager 对象,通过以下方式接收更新:
locationManager:didUpdateToLocations:
即使我的应用在后台,我也想要这些更新。因此,在 info.plist 中,我将“必需的后台模式”列表设置为应用程序寄存器以进行位置更新。
但我的测试表明它在后台状态下没有收到更新。
但是,我不确定我对背景状态/暂停状态的理解是否正确。
这就是我认为它的工作原理:
After the home button is pressed, the app enters background mode for 5 seconds,
and then enter suspended state.
我想这就是它不起作用的原因。但是如果将 info.plist 设置为 ""app registers for location updates"并不能阻止应用程序达到挂起状态,那么我该如何实现呢?
按主页按钮和按锁定按钮有什么区别(如果有)?我的意思是在国家层面。
我已阅读本指南的相关部分:http://www.raywenderlich.com/29948/backgrounding-for-ios
我还是 IOS 新手,所以我可能忽略了一些东西。
Best Answer-推荐答案 strong>
首先,您是否学习过 Location and Maps Programming Guide 中的“在后台获取位置事件”? ?
您是否检查过 backgroundRefreshStatus ?是否允许这个应用按照它在后台运行?
pausesLocationUpdatesAutomatically 的值是多少?
您要求的准确度是多少?您的移动是否足以在该精度上产生变化?
您是否调用 startUpdatingLocation ?
这是 iOS 6 还是 7?如果是 iOS 7,请务必观看 Session 204:“What's New with Multitasking?”发生了一些变化,iOS 现在在关闭应用方面比以前更加积极。
关于ios - 将应用程序保持在后台模式以持续更新位置,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/18925845/
|