你好,我正在尝试创建一个基于位置的iOS7应用程序。我已经启用了UIBackgroundMode
以进行位置更新。大部分时间我的应用程序将在后台运行。
当用户移动时,后台状态下的应用程序工作正常,但是我发现如果用户静止不动约15分钟,应用程序就会被挂起。即使应用程序进入挂起状态后用户再次移动,应用程序也不会被唤醒。
我需要持续更新位置,因此延迟更新对我没有用。有没有办法防止应用程序进入挂起模式?
你好,我正在尝试创建一个基于位置的iOS7应用程序。我已经启用了UIBackgroundMode
以进行位置更新。大部分时间我的应用程序将在后台运行。
当用户移动时,后台状态下的应用程序工作正常,但是我发现如果用户静止不动约15分钟,应用程序就会被挂起。即使应用程序进入挂起状态后用户再次移动,应用程序也不会被唤醒。
我需要持续更新位置,因此延迟更新对我没有用。有没有办法防止应用程序进入挂起模式?
我发现这个问题有一个更简单的解决办法。在iOS中,有一个名为pausesLocationUpdatesAutomatically的属性。将此属性设置为NO,在后台工作时就能很好地运行。
iOS 7中locationManager
的后台时间从iOS 6的10分钟缩短到了3分钟。因此,您需要知道在正确的delegate方法
中何时以及如何重新启动locationManager
。您还需要知道如何正确处理backgroundTask
。
我在Github上分享了一个示例项目,并在博客文章中详细介绍了如何在iOS 7中保持位置更新运行,请查看:iOS 7中无法正常工作的后台位置服务