Усложнение Watchkit и обновления местоположения?

Я пытаюсь написать усложнение, которое использует данные о местоположении. Я могу получить данные о местоположении в контроллере сложности, но он никогда не работает должным образом из-за того, что результаты возвращаются асинхронно.

Каков наилучший способ обновить осложнение с данными о местоположении? Я думаю, что это не очень хорошая идея, чтобы получить местоположение в сложности (хотя вы можете).


person Jason Scott    schedule 11.01.2016    source источник


Ответы (1)


Вы должны получить и кэшировать данные о местоположении до того, как это потребуется источнику данных сложности.

Задача вашего класса источника данных — как можно быстрее предоставить ClockKit любые запрошенные данные. Реализации ваших методов источника данных должны быть минимальными. Не используйте методы источника данных для извлечения данных из сети, вычисления значений или выполнения каких-либо действий, которые могут задержать доставку этих данных. Если вам нужно получить или вычислить данные для вашего усложнения, сделайте это в своем приложении iOS или в других частях вашего расширения WatchKit и кэшируйте данные в месте, где ваш источник данных усложнения может получить к ним доступ. Единственное, что должны делать ваши методы источника данных, — это брать кэшированные данные и помещать их в формат, требуемый ClockKit.

Вы можете получить данные о местоположении на своем телефоне, а затем использовать сеанс подключения часов для transferCurrentComplicationUserInfo делегирования добавочного номера. Делегат расширения может кэшировать информацию для контроллера усложнения или расширить временную шкалу усложнения новыми данными.

person Community    schedule 11.01.2016