2016-01-03 3 views
2

Я пытаюсь использовать CLLocationManager на приложении WatchKit, и я думаю, что я испытываю неожиданное поведение:CLLocationManager множественного делегат называет Apple, часы

У меня есть CLLocationManager как переменный класс с именем manager, и когда я называю self.manager.requestLocation(); на Apple Watch, иногда он вызывает делегата didUpdateLocations только один раз, а в других случаях делегат вызывается несколько раз.

Является ли это ожидаемым поведением, хотя я только называл метод requestLocation один раз? Если нет, есть ли обходной путь?

+0

Если запросLocation работает как startUpdateLocation это нормально, что метод сделалUpdateLocations вызывается несколько раз .. – Nekfeu

+0

@Nekfeu Я думаю, что он должен только обновлять его один раз, потому что этот метод также доступен на iOS. Он также не обеспечивает непрерывных обновлений, все обновления появляются менее чем за 5 секунд. –

+0

ОК, так что вы думаете, что проблема существует только на AppleWatch? – Nekfeu

ответ

1

Это нормально, из-за того, что он иногда быстро настраивает местоположение, если оно не соответствует 100%. По крайней мере, это то, что я сделал. Это, как говорится, вы действительно должны разгружать местоположение, получая телефон, вместо того, чтобы использовать часы, если это возможно из-за проблем с батареями.

Смежные вопросы