【问题标题】:Location manager stops working after some interval in background位置管理器在后台运行一段时间后停止工作
【发布时间】:2013-03-26 04:44:20
【问题描述】:

我正在开发一个应用程序,我必须在其中跟踪 BackgroundForeground 中的 LocationUpdate,但在 Background 中的一段时间间隔后,应用程序停止更新 Location。当我将它带回Foreground 时,它会再次启动,而当我在一段时间后将其置于后台时,它会再次停止。

我无法找到问题,请尽可能帮助我。

【问题讨论】:

  • 您期望的准确度设置是多少?
  • 您的问题解决了吗?原因是什么?你是怎么解决的?您可以回答自己的问题,这可能对其他人有所帮助。

标签: iphone ios gps location


【解决方案1】:

您必须在plist 中指定您的应用在后台时需要位置更新

这里是苹果文档Getting Location Events in the Background

这里是tutorial for this

我建议你阅读Location Awareness Programming Guide

【讨论】:

  • 感谢您的回复,但我已在我的 plist 中完成此操作。问题基本上是它更新了 30-60 分钟而不是停止更新位置。
  • 这可能是由于距离过滤器的值较大。
  • 我使用的距离过滤器值等于 10m。
【解决方案2】:
  • 禁用距离过滤器
  • 将所需的准确度设置为最佳

  • 使用 - (void)startUpdatingLocation

现在在 ios6 中:有

locationManager:didUpdateLocations:

在ios5中有

locationManager:didUpdateToLocation:fromLocation: 

第一个方法提供在后台缓冲的位置,让您的应用程序处于休眠状态,并通过一系列修复将其唤醒,而 ios5 方法始终提供位置。

【讨论】:

  • 因为我正在使用 ios6,所以如何修复它以获取后台每个动作的位置更新。
  • 在那几个小时之后,您是在后台放松职位,还是让他们迟到?
  • 我在后台松开位置,当进入前台时,它再次从当前位置开始更新。那么我如何在后台保持更新
  • 这很有趣,再次检查是否禁用了所有过滤器,使用desiredAccuracyBest,然后将应用兼容性设置为ios 5,并使用ios 5 方法。进一步安装国外 GPS 应用,例如 Motion-X GPS,并检查它们是否可以在后台记录轨迹。
  • 我已将距离过滤器值设置为 0.0,并且在后台时将精度设置为最佳,但应用程序在一段时间后仍会停止更新
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-04
  • 2018-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-13
相关资源
最近更新 更多