3

我的项目正在使用 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 设置为“应用程序注册位置更新”并不能阻止应用程序达到挂起状态,那么我该如何实现呢?

按主页按钮和按锁定按钮有什么区别(如果有)?我的意思是在国家层面。

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

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

4

1 回答 1

2

首先,您是否学习过Location and Maps Programming Guide中的“在后台获取位置事件” ?

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

的价值是pausesLocationUpdatesAutomatically多少?

您要求什么精度?您是否足够移动以在该准确性上产生变化?

你打电话了startUpdatingLocation吗?

这是 iOS 6 还是 7?如果是 iOS 7,请务必观看 Session 204:“What's New with Multitasking?” 发生了一些变化,iOS 现在在关闭应用程序方面比以前更加积极。

于 2013-09-20T21:22:14.340 回答