应用在后台获取位置更新时被挂起

3

你好,我正在尝试创建一个基于位置的iOS7应用程序。我已经启用了UIBackgroundMode以进行位置更新。大部分时间我的应用程序将在后台运行。 当用户移动时,后台状态下的应用程序工作正常,但是我发现如果用户静止不动约15分钟,应用程序就会被挂起。即使应用程序进入挂起状态后用户再次移动,应用程序也不会被唤醒。

我需要持续更新位置,因此延迟更新对我没有用。有没有办法防止应用程序进入挂起模式?

2个回答

4

我发现这个问题有一个更简单的解决办法。在iOS中,有一个名为pausesLocationUpdatesAutomatically的属性。将此属性设置为NO,在后台工作时就能很好地运行。


0

iOS 7中locationManager的后台时间从iOS 6的10分钟缩短到了3分钟。因此,您需要知道在正确的delegate方法中何时以及如何重新启动locationManager。您还需要知道如何正确处理backgroundTask

我在Github上分享了一个示例项目,并在博客文章中详细介绍了如何在iOS 7中保持位置更新运行,请查看:iOS 7中无法正常工作的后台位置服务


你是在设定计时器并在一定时间间隔后添加新的后台任务,对吧?能否再多提供一些关于后台任务的信息呢? - Mendis
你需要检查我在Github上分享的源代码。它有一个管理器来管理所有后台任务。如果您认为它有用,请在该帖子上点赞。 - Ricky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接