Xamarin Apple Watch Extension - использование простого веб-сервиса JSON - PullRequest
1 голос
/ 16 марта 2019

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

Я хотел сделать то же самое на яблочных часах (нацеленных на яблочные часы серии 2), но я просто не понимаю, как они работают.

Я добавил проект часов и расширение часов, создал интерфейс ... У меня есть кнопка "обновить", которая изменяет значение метки на жестко закодированное значение, но я хочу получить данные из простого веба служба при запуске приложения при пробуждении и при активации кнопки (аналогично моему приложению xamarin.forms для iphone)

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

После поиска в Google, я полагаю, я должен использовать делегат HandleWatchKitExtensionRequest в приложении для телефона, чтобы получить данные в словаре и затем отобразить данные. Мне не удалось найти какие-либо действительно простые примеры этого, но я запутался, потому что начиная с версии Apple Watch 3, часы были автономны с доступом к ячейке и, следовательно, не обязательно должны иметь хост-приложение.

Итак, я спрашиваю, могут ли часы фактически использовать только веб-сервис с помощью телефонного приложения xamarin, и если да, есть ли простые примеры, потому что я не могу их найти (не из 2015).

Извините, если это расплывчато, или я звучу как новичок (я определенно новичок, когда дело доходит до ксамарина, но любые указания или помощь приветствуются)

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

Когда я в последний раз разрабатывал часы, я заметил, что HttpClient никогда не сработает. Я должен был использовать NSUrlSession, поэтому это мне помогло.

Надеюсь, это поможет

0 голосов
/ 16 марта 2019

Согласно https://developer.apple.com/documentation/foundation/nsurlsession?language=objc NSURLSession доступно начиная с watchOS 2.0.Он используется для загрузки контента из Интернета и тщательно документирован, просто не ищите watchOS специально, поскольку он одинаков для всех ОС Apple.

Но так как HttpClient использует NSURLSession, он такжедоступно, поэтому, возможно, вам нужно добавить ссылку на System.Net.Http.

...