Leveraging iOS Technologies
Расширения WatchKit имеют доступ к тем же технологиям, найденным в приложениях для iOS, но потому что они - расширения, использование некоторых технологий может быть ограничено, и использование других не рекомендуется. Вот некоторые инструкции для решения, когда использовать определенную технологию:
Знайте, что разрешение для некоторых технологий должно быть принято на iPhone пользователя. Пользователь должен дать разрешение использовать определенные системные технологии, такие как Базовое Расположение. Используя одну из этих технологий в Вашем WatchKit расширение инициировало надлежащую подсказку на iPhone пользователя. Часы Apple также выводят на экран собственную подсказку, прося, чтобы пользователь просмотрел запрос разрешения на iPhone. Для получения информации о технологиях, требующих полномочий пользователя, см. “Пользовательскую Конфиденциальность Поддержки” в Руководстве по программированию Приложения для iOS.
Не используйте фоновые режимы выполнения для технологии. Расширения WatchKit работают только, в то время как пользователь взаимодействует с соответствующим приложением WatchKit и поэтому считается приоритетными расширениями. В результате расширения WatchKit не могут выполнить использование фоновых режимов, поддерживаемых некоторыми технологиями.
Избегите выполнять продолжительные задачи с технологией. Расширение WatchKit приостановлено вскоре после того, как пользователь прекращает взаимодействовать с соответствующим приложением WatchKit. Поскольку взаимодействия приложений WatchKit обычно кратки, расширение могло бы уже быть приостановлено к тому времени, когда запрошенные данные поступают.
Лучшее решение для выполнения любых продолжительных задач состоит в том, чтобы позволить Вашему приложению для iOS выполнить задачу вместо этого. Например, вместо стартовых служб определения местоположения в Вашем расширении WatchKit, запустите его в своем приложении для iOS. Ваше приложение для iOS может собрать необходимые данные и поместить их в группу общего приложения так, чтобы Ваше расширение могло получить доступ к ним позже. Используйте openParentApplication:reply:
метод, чтобы инициировать задачи и получить ответ или использовать совместно используемый контейнер группы для передачи подробных данных между приложением для iOS и расширением WatchKit. Для получения информации о том, как обработать коммуникацию между Вашим приложением для iOS и расширением WatchKit, посмотрите Связь Непосредственно с Вашим Содержанием приложения для iOS.
Поддержка Хэндофф
Часы Apple поддерживают создание действий, которые могут быть завершены на других устройствах с помощью Хэндофф. Можно использовать updateUserActivity:userInfo:webpageURL:
метод WKInterfaceController
создать действия и распространить их к другим устройствам.
За исключением взгляда Вашего приложения, Часы Apple не обрабатывают действия, сгенерированные другими устройствами. В Вашем контроллере интерфейса взгляда можно использовать словарь действия для указания информации, которая могла бы быть полезна для главного приложения. Если пользователь касается Вашего взгляда для запуска приложения, WatchKit поставляет тот словарь действия основному контроллеру интерфейса приложения. Тот контроллер интерфейса может использовать содержание словаря для обновления UI приложения соответственно. Для получения дополнительной информации о том, как передать информацию от Вашего взгляда до Вашего приложения, посмотрите Запуск Приложения Настройки от Своего Взгляда.
События дистанционного управления и теперь игра информации
Часы Apple используют систему событий дистанционного управления для управления воспроизведением аудио или видео на парном iPhone пользователя. Управление передачей Теперь взгляда Игры генерирует события дистанционного управления для приложения, в настоящее время играющего содержание. Приложение для iOS, регистрирующее обработчики в командах MPRemoteCommandCenter
объект получает эти события автоматически, когда это - “Теперь Игра” приложения. Вы не должны выполнять дополнительную работу в своем расширении WatchKit для поддержки событий дистанционного управления, прибывающих из Часов Apple.
Теперь взгляд Игры автоматически выводит на экран любого “Теперь Игра” информации, предоставленной в настоящее время приложением для iOS игры. Приложение для iOS предоставляет эту информацию с помощью MPNowPlayingInfoCenter
объект. Поскольку Ваше приложение играет свое содержание, оно должно обновить значения nowPlayingInfo
словарь. Часы Apple автоматически получают эту информацию и выводят на экран ее. Кроме того, ответвление заголовка дорожки в Теперь взгляде Игры запускает приложение WatchKit приложения, если Вы доступны.
Для получения информации о том, как реализовать поддержку событий дистанционного управления и теперь игры информации в Вашем приложении для iOS, посмотрите События Дистанционного управления.