CLLocationManager 多个委托调用 Apple Watch

CLLocationManager multiple delegate calls Apple Watch

我正在尝试在 WatchKit 应用程序上使用 CLLocationManager,但我认为我遇到了意外行为:

我有一个 CLLocationManager 作为名为 manager 的 class 变量,当我在 Apple Watch 上调用 self.manager.requestLocation(); 时,有时它只调用委托 didUpdateLocations一次,其他时候多次调用委托。

这是预期的行为吗,即使我只调用了一次 requestLocation 方法?如果没有,是否有解决方法?

这很正常,因为如果位置不是 100% 正确,它有时会快速调整位置。至少那是我得出的结论。话虽这么说,但由于电池问题,您确实应该将位置提取卸载到 phone 而不是使用手表。