【问题标题】:StartMonitoringSignificantLocationChanges method not return locationStartMonitoringSignificantLocationChanges 方法不返回位置
【发布时间】:2015-10-14 08:02:49
【问题描述】:

在重大更改位置服务中,我使用了“startMonitoringSignificantLocationChanges”方法,但它只返回缓存的位置,不返回更新的位置信息。 我用过 Swift 语言。

【问题讨论】:

标签: ios swift


【解决方案1】:

假设您保持对位置管理器对象的强引用,请确保您调用 locationManager.requestAlwaysAuthorization() 以使 startMonitoringSignificantLocationChanges 正常运行。

编辑:

来自Apple Documentation

无论您使用哪种定位服务,定位数据都是 通过位置管理器的关联委托向您的应用报告 目的。因为返回初始值可能需要几秒钟 位置,位置管理器通常会提供先前的 立即缓存位置数据,然后提供更多最新的 位置数据,因为它变得可用。所以总是好的 在采取任何措施之前检查任何位置对象的时间戳的想法 行动。如果同时启用两种定位服务,它们 使用同一组委托方法传递事件。

等待一段时间,并确保您更改了实际位置,以便位置经理返回正确的位置。请注意,重大位置更改模式总是比常规模式慢。

【讨论】:

  • 好的。我只使用 locationManager.requestAlwaysAuthorization()。但它只返回缓存的位置。仅供参考 - 我正在检查 ios 模拟器。
  • 根据 Apple 文档,获取缓存位置是一个有效的案例。请看我更新的帖子。
  • 可以签入ios模拟器吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-19
  • 1970-01-01
相关资源
最近更新 更多