【问题标题】:CLLocationManager: allowDeferredLocationUpdates - keep getting The operation couldn’t be completed. (kCLErrorDomain error 11.)CLLocationManager:allowDeferredLocationUpdates - 不断获取操作无法完成。 (kCLErrorDomain 错误 11。)
【发布时间】:2018-10-24 12:35:00
【问题描述】:

在调用 allowDeferredLocationUpdates 后,我不断收到“无法完成操作。 (kCLErrorDomain 错误 11.)'

GPS 可用,因为我仍然每秒都会收到正常的更新。只是我每秒都会收到一个错误。

我遵循了我能找到的所有指南,CLLocationManager 已正确初始化,所有权限都可用。用Console测试,XCode调试器没有开启。

有没有人看到这个并且知道这是关于什么的?

【问题讨论】:

  • 请显示设置位置管理器并请求延迟更新的代码,但是如果您在此处搜索该错误,您会看到一些问题/答案,结论似乎是:延迟位置更新不再工作。
  • 这是我正在运行的代码:pastebin.com/nBHb93UX 这是显示一堆东西的测试应用程序,但最重要的部分可能在第 39-43 行(初始化),113- 116(延迟更新调度)和 129-135(处理延迟更新错误)。我用谷歌搜索了很多,虽然很多人遇到了问题,但对于很多人来说,延迟更新工作得很好!或者至少他们没有像我一样收到错误。

标签: ios iphone swift cllocationmanager


【解决方案1】:

我建议您在使用 allowDeferredLocationUpdates 之前调用 deferredLocationUpdatesAvailable 方法。是的,我知道,如果您使用的是最新的 iOS 硬件,这似乎是不必要的步骤。不过,您可能会感到惊讶。 deferredLocationUpdatesAvailable 在任何(6 到 X)iPhone 上返回 false。从 iOS 10 开始,Apple 似乎默默地弃用了延迟的位置更新,或者可能更早。

【讨论】:

  • 我尝试在 starUpdateLocation 之前或之后或应用程序进入后台模式时调用 deferredLocationUpdatesAvailable - 它总是返回 false。同样有趣的是,我没有在模拟器中得到这些错误,只有在真实设备上。我不确定 Apple 是否会弃用它,因为文档中绝对没有关于它的内容。
  • 回复。我不确定Apple是否会弃用它,因为文档中绝对没有关于它的内容。 --- 这就是“默默地”这个词的来源:o)
【解决方案2】:

【讨论】:

    猜你喜欢
    • 2015-06-03
    • 2014-03-04
    • 2013-10-21
    • 2014-01-04
    • 2016-10-22
    • 2015-05-19
    • 2017-01-22
    • 2011-08-27
    • 2010-11-24
    相关资源
    最近更新 更多