应用程序在后台运行时进行位置跟踪
Posted
技术标签:
【中文标题】应用程序在后台运行时进行位置跟踪【英文标题】:Location tracking while app running in the background 【发布时间】:2012-05-27 10:37:12 【问题描述】:我有一个应用程序,它可以在前台运行时跟踪设备的当前位置。我也想在后台运行时做同样的事情。
我做了一些研究并尝试了以下方法:
已申请setKeepAliveTimeout:600 handler:^ [self backgroundHandler]; ];
当应用程序在调试下运行时,一切正常(我的意思是当设备连接到 mac pc 或连接到充电的设备时)。当设备与 PC 断开连接或充电应用在后台运行时无法跟踪当前位置。
这是为什么呢?
【问题讨论】:
【参考方案1】:您需要将 UIBackgroundModes 键添加到您的 info.plist 文件中。这个键应该是一个数组,然后你需要给它加上值“location”。
更多信息:
http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html#//apple_ref/doc/uid/TP40009497-CH2-SW10
【讨论】:
我已经添加了所有内容。在 info.plist 中,我还添加了诸如 voip、位置和音频之类的字符串。【参考方案2】:查看 Breadcrumbs 示例应用程序和 WWDC 2010 关于在后台使用 CoreLocation 的讲座。讲座通过面包屑样本进行。
【讨论】:
以上是关于应用程序在后台运行时进行位置跟踪的主要内容,如果未能解决你的问题,请参考以下文章