Введение в watchOS 3

В этой статье представлены все новые и измененные API и функции, доступные в watchOS 3 для разработчиков Xamarin.

В этом документе рассматриваются следующие темы:

Новые возможности в watchOS 3

Apple добавила несколько новых API и служб в watchOS 3, а также множество улучшений существующих функций, в том числе:

Улучшения Apple Pay

В watchOS 3 платформа PassKit была расширена, чтобы обеспечить поддержку безопасных, встроенных платежей (как физических товаров, так и служб) для приложений, работающих в Apple Watch.

Используйте новые классы PKPaymentAuthorizationController и PKPaymentAuthorizationControllerDelegate для представления и реагирования на интерфейс, в котором пользователь может авторизовать запросы на оплату.

Чтобы узнать больше, ознакомьтесь с нашим руководством по усовершенствованиям Apple Pay.

Фоновые задачи

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

Доступны следующие новые фоновые задачи:

  • Фоновое обновление приложения — задача WKApplicationRefreshBackgroundTask позволяет приложению обновлять состояние в фоновом режиме. Обычно это будет включать в себя другую задачу, например скачивание нового содержимого из Интернета с помощью NSUrlSession.
  • Обновление фонового моментального снимка — задача WKSnapshotRefreshBackgroundTask позволяет приложению обновлять содержимое и пользовательский интерфейс, прежде чем система примет моментальный снимок, который будет использоваться для заполнения док-станции.
  • Фоновые часы Подключение ivity — задача WKWatch Подключение ivityRefreshBackgroundTask запускается для приложения при получении фоновых данных из парного i Телефон.
  • Фоновый СЕАНС URL-адресов— задача WKURLSessionRefreshBackgroundTask запускается для приложения, когда для фоновой передачи требуется авторизация или завершение (успешно или ошибка).

Дополнительные сведения см. в руководстве по фоновым задачам .

Улучшения осложнений

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

watchOS 3 дает приложению возможность создать одно или несколько осложнений для приложения наблюдения, чтобы пользователь смог получить доступ к своей информации на взгляд с лица наблюдения.

Кроме того, осложнения предоставляют следующие преимущества:

  • Пользователь может быстро запустить приложение, нажав кнопку "Осложнение" непосредственно с лица наблюдения.
  • Наличие одного из осложнений приложения на лице наблюдения приводит к тому, что система сохраняет приложение в состоянии готовности к запуску, когда он пытается запустить приложение в фоновом режиме, сохранить его в памяти и предоставить дополнительное время для обновления.
  • Осложнения гарантированы по крайней мере 50 push-обновлений в день.
  • Когда приложение включает в себя осложнения, оно будет представлено в коллекции лиц Apple Watch.

В watchOS 3 платформа ClockKit теперь включает несколько новых шаблонов для дополнительных больших осложнений, таких как CLKComplicationTemplateExtraLargeColumnsText и CLKComplicationTemplateExtraLargeRingImage. Кроме того, чтобы создать локализуемый текст, используйте новые методы класса CLKTextProvider .

Дополнительные сведения см. в руководстве по быстрому взаимодействию с watchOS 3 .

Новые доступные платформы

WatchOS 3 включает несколько существующих платформ Apple, которые ранее были недоступны, например:

  • SceneKit — используйте SceneKit для включения трехмерных моделей в пользовательский интерфейс приложения наблюдения, включая большинство функций, доступных на других платформах, таких как освещение, заливка, анимация, физика и системы частиц. Трехмерный пространственный звук, пользовательские шейдеры Metal или OpenGL, фильтры основных изображений и физические материалы не поддерживаются.
  • SpriteKit — используйте SpriteKit для отрисовки и анимации спрайтов в пользовательском интерфейсе приложения для просмотра приложений, включая большинство функций, доступных на других платформах, таких как действия, физика, освещение и системы частиц. Трехмерный пространственный звук, воспроизведение видео и фильтры основных изображений не поддерживаются.
  • AVFoundation — управление и воспроизведение звука.
  • CloudKit — перемещение данных между приложением наблюдения и контейнерами iCloud.
  • Core Audio — управление типами данных для представления аудиопотоков, сложных буферов и значений времени.
  • GameKit — создание социальных игр.

Упреждающие предложения

watchOS 3 позволяет приложению заранее представить сведения пользователю в заданных контекстах. Для поддержки этой функции NSUserActivity теперь включает MapItem свойство, которое позволяет приложению предоставлять сведения о расположении для последующего использования другими приложениями.

Дополнительные сведения см. в руководстве по упреждающим предложениям .

Улучшения безопасности и конфиденциальности

Apple сделала несколько улучшений безопасности и конфиденциальности в watchOS 3, которые помогут разработчику улучшить безопасность своих приложений и обеспечить конфиденциальность конечных пользователей.

В результате приложения, работающие в watchOS 3 (или более поздней версии), должны статически объявить свое намерение получить доступ к определенным функциям или сведениям о пользователе, введя один или несколько ключей конфиденциальности в своих Info.plist файлах, которые объясняют пользователю, почему приложение хочет получить доступ.

Так как watchOS 3 делится этими изменениями с iOS 10, ознакомьтесь с нашим руководством по улучшению безопасности и конфиденциальности iOS 10.

Моментальные снимки и закрепление

В watchOS 3 Apple добавила док-станцию, где пользователи могут закрепить свои любимые приложения и быстро получить к ним доступ. Когда пользователь нажимает боковую кнопку в Apple Watch, отобразится коллекция закрепленных моментальных снимков приложений. Пользователь может проводите пальцем влево или вправо, чтобы найти нужное приложение, а затем коснитесь приложения, чтобы запустить его, чтобы заменить моментальный снимок интерфейсом запущенного приложения.

Система периодически принимает моментальные снимки пользовательского интерфейса приложения и использует эти моментальные снимки для заполнения документации. WatchOS предоставляет приложению возможность обновить его содержимое и пользовательский интерфейс до создания этого моментального снимка.

Дополнительные сведения см. в руководстве по фоновым задачам и справочнике по WKSnapshotRefreshbackgroundTask.

Уведомления пользователей

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

Дополнительные сведения см. в руководстве по быстрому взаимодействию с watchOS 3 .

Просмотр улучшений платформы Подключение ivity Framework

Новое HasContentPending свойство класса WCSession указывает, что сеанс получил данные в фоновом режиме, который необходимо обработать. RemainingComplicationUserInfoTransfers И свойство возвращает оставшееся время, когда приложение iOS может обновить его watchOS Complication.

Дополнительные сведения см. в руководстве по фоновым задачам .

Улучшения Платформы WatchKit

WatchOS 3 включает несколько улучшений платформы WatchKit, включая следующие:

  • Приложение может получить состояние Цифровой короны с помощью нового класса WKCrownSequencer и получать обновления, когда пользователь поворачивает корону с помощью класса WKCrownDelegate .
  • Класс WKExtension теперь включает в себя ApplicationState константу метода и WKApplicationState , которую приложение может использовать для отслеживания состояния среды выполнения приложения. WKExtension также предоставляет два новых метода, которые можно использовать для планирования фоновых задач.
  • WKExtensionDelegate теперь включает новые ApplicationDidEnterBackgroundApplicationWillEnterForegroundметоды для HandleBackgroundTasks отслеживания изменений состояния приложения и обработки обновлений фоновой задачи.
  • Добавлен новый класс WKGestureRecognizer для предоставления следующих типов распознавания жестов в приложениях часов: WKLongPressGestureRecognizer, WKPanGestureRecognizer, WKSwipeGestureRecognizer и WKTapGestureRecognizer.
  • Новый класс WKinterfaceHM Камера предоставляет интерфейс для любой подключенной IP-камеры HomeKit.
  • Новый класс WKInterfaceInlineMovie позволяет приложению отображать фильм "плакат", который заменяется запущенным фильмом, когда пользователь нажимает его.
  • Новый класс WKInterfacePaymentButton позволяет приложению представить кнопку Apple Pay в пользовательском интерфейсе, которая инициирует запрос на оплату при нажатии.
  • Новый класс WKInterfaceSCNScene представляет интерфейс для отображения сцены SceneKit в Apple Watch.
  • Новый класс WKInterfaceSKScene представляет интерфейс для отображения сцены SpriteKit в Apple Watch.

Дополнительные сведения см. в руководстве по быстрому взаимодействию с watchOS 3 .

Усовершенствования приложения для тренировок

Новые возможности для просмотраOS 3, связанные с тренировками приложения имеют возможность работать в фоновом режиме в Apple Watch. Чтобы включить эту функцию (и получить доступ к данным HealthKit), приложение должно включать WKBackgroundModes ключ в Info.plist файл со значением workout-processing.

Кроме того, разработчик теперь имеет возможность запустить приложение для тренировки watchOS из версии приложения iOS в парном i Телефон.

Дополнительные сведения см. в руководстве по улучшению приложений Workout.

Дополнительные изменения платформы

Помимо основных изменений и дополнений, перечисленных выше, Apple сделала много дополнительных дополнительных дополнительных изменений платформы в watchOS 3.

Дополнительные сведения см. в руководстве по дополнительным изменениям платформы.

Устаревшие интерфейсы API

В watchOS 3 не рекомендуется использовать следующие API:

  • Класс UILocalNotification UIKit устарел и должен быть заменен платформой уведомлений пользователей.

Полный список нерекомендуемых и изменений см. в документации по API Apple 2.2.