WWDC19. Какие изменения Команд ждут нас в iOS 13.
@DevilmashineПривет!
Уже больше суток прошло с момента окончания презентации Apple на ежегодной конференции WWDC19. В очередной раз Интернет взорван тонной инфоповодов и фотографиями "тёрок". Все кто более менее следит за успехами компании Apple уже знают об основных нововведениях и апдейтах, а я хотел бы поделиться тем, как улучшили Быстрые Команды в iOS 13.
Что нового?
Приложение Команды теперь является предустановленным в iOS 13, тогда как раньше оно требовало отдельной загрузки из App Store. Также, команды, созданные разработчиками приложений (например, "Поехали Домой" от Яндекс.Навигатора, недоступное в приложении Команды, но доступное в настройках команд Siri), которые можно использовать как самостоятельно, так и настроить как часть многоступенчатой команды, и находятся они теперь непосредственно в приложении Команды. Ранее они были скрыты на экране "Siri и Поиск" в Настройках.
Самым очевидным и масштабным обновлением приложения "Команды" является добавление новой вкладки Автоматизации. Внутри этой вкладки вы сможете настроить правила, которые будут запускать команды на основе различных триггеров, настраиваемых лично вами.


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


Apple обещает более 100 различных триггеров (правда пока такое количество заявлено только для iPad), в том числе в зависимости от времени суток, когда вы начинаете тренировку, при подключении или отключении от конкретной сети Wi-Fi, при подключении к CarPlay и многое другое. Возможность запуска команд без прямого обращения к ней пользователя была главным запросом функции после дебюта приложения в прошлом году!


Также в сети уже появился интересный список новых возможностей некоторых действий (будет обновляться):
Действия, которые могут быть выполнены на заблокированном устройстве с iOS13:
- Получить содержимое URL: Можно запускать javascript при заблокированном устройстве.
- Получить текущую геопозицию: Теперь не обязательно запускать команду на разблокированном устройстве и только в приложении Команды.
- Получить текущую погоду: Тоже что и с геопозицией.
- Отправить сообщение: Автоматическая отправка сообщений на заблокированном устройстве.
Действия, которые могут осуществляться в фоновом режиме на iOS13:
- Получить текущую геопозицию
- Получить текущую погоду
Действия, которые не могут быть выполнены на заблокированном устройстве:
- Открыть приложение
- Добавить в Заметки (Заметки Apple): Это скорее всего исправят, так как действия Добавить в Файл и Добавить в Evernote отлично работают на заблокированном устройстве.
Действия, которые не могут осуществляться в фоновом режиме:
- Диктовка: Вы услышите звук начала записи, но ничего не будет записано.
Команды и Siri
Еще одним улучшением приложения "Команды" является то, что называется “диалоговые команды". Apple дает пример, говоря Siri "заказать еду на вынос в Caviar", а затем показывается список вариантов ресторанов и блюд на выбор. Это означает, что команды, привязанные к конкретному приложению, смогут получать пользовательский ввод при запуске, а не ограничиваться одним заданным действием (в данный момент Siri может только запустить приложение, но не может получить вводные данные и передать его этому приложению для обработки).
Кроме того, Siri получает поддержку в iOS 13 для интеграции со сторонними аудио приложениями, такими как проигрыватели подкастов и приложения для прослушивания музыки и аудиокниг. Хотя в прошлом году эти приложения смогли интегрироваться с Командами Siri, теперь есть отдельный домен SiriKit для аудио, предоставляющий гораздо более мощные инструменты для сторонних приложений.
Голос Siri обновляется в iOS 13 благодаря технологии Neural TTS (Text to Speech). В то время как сам голос не будет сильно отличаться, Neural TTS позволяет Siri говорить более естественно, особенно когда он читает более длинные предложения.
Также, хотим вас предостеречь от установки первой бета-версии iOS13:
- Команды в настоящее время не доступны при использовании Siri на Apple Watch, HomePod и CarPlay.
- Команды, запущенные на iOS и iPadOS 13 beta, автоматически обновляются и не могут быть более запущены на iOS 12. Если устройство на iOS 12 и устройство на iOS 13 пользуются одним iCloud аккаунтом, команды могут перестать запускаться на устройстве с iOS 12 (решение: отключите iCloud синхронизацию между устройством на iOS 12 и устройством на iOS 13).
- Использование неанглийских языков при запросе к Siri на выполнение действий, связанных с напоминаниями или сообщениями, может привести к неожиданному завершению работы соответствующего приложения.
- Команды, добавленные в Siri в iOS 12, могут не появиться после обновления до бета-версии iOS и iPadOS 13.
Подробнее, об известных ошибках (в том числе возникающих при разработке приложений) описано в официальной документации.
Ошибки, которые заметили сами пользователи:
- Связанные действия теряют зависимости, например, действие "Получить переменную", за которой следует "Если", часто теряет значение (а иногда и условие), примеры 1 и 2.
- Входные данные команды часто становятся недоступными для действий (например, "Получить переменную").
- Волшебные переменные больше не связанны - пример.
- Действие "Диктовка" приводит к фризу. Кнопка Stop, при этом, также не работает. (Требует принудительного перезапуска)
- Настройка голосового триггера Siri полностью исчезла из приложения. Существующие (уже записанные) триггеры распознаются, но негде установить его для новых команд.
- Часто невозможно установить команду по iCloud-ссылке (решение: копировать в заметки и нажать на ссылку).
На сегодня это все.
Мы обязательно продолжим пристально следить за новостями и делиться с вами. Команды для iOS13 уже совсем скоро начнут появляться на нашем Канале!
Обязательно Подписывайтесь и заходите к нам в Чат с любым вопросом!
Далее немного скриншотов и видео (осторожно! появляется непреодолимое желание накатить бету iOS13):
Новое оформление библиотеки команд:


Новое меню действий с командами в Библиотеке, нажать и удерживать:

Защита от установки команд из непроверенных источников (т.е. не из Галереи):

Отключается тут:

Обновленный редактор команд:

Более компактная структура самой команды, меньше действий:

Запуск команды через Siri и выбор из списка либо выбор пункта меню:
Да-да, многие просили и мечтали - выбор устройства воспроизведения:


Скорость запуска команды, вынесенной на Домашний экран, увеличена до запредельных скоростей (видео):
NFC-триггеры:


Запуск приложения на Apple TV с помощью команды:

Доступны новые действия:

Работа с JSON: