Автоматизация в iOS 12 — как все устроено

В локализированном виде приложение Shortcuts называется «Команды». Но отсутствие перевода в тексте — не ошибка. Дело в том, что с приходом iOS 12, в системе появились два разных способа автоматизировать действия: это системные команды и команды из приложения Shortcuts. Рассказываем, в чем разница.

Команды (в оригинале — Siri shortcuts)

Это системные уведомления, которые предлагают автоматизировать действия.

Они появляются в окне поиска или на экране блокировки. Их источник — Siri. Для создания таких команд от пользователя не требуется ничего, кроме активного повторения действия — тогда система автоматически сгенерирует команду.

По большему счету, это способ «пропустить действие» и сразу перейти к конкретному контенту или процессу в приложении. Например: позвонить контакту из адресной книги, создать заметку, установить будильник, запустить проигрывание альбома.

Чтобы посмотреть все команды, которые обработала система, перейдите в «Настройки» — «Siri и поиск». Команды сгруппированы в отдельную секцию, которую можно развернуть. Их количество зависит от специфики использования и работы разработчиков. В терминологии Apple, они должны «донатить» команды в пользу Siri, прописывая для действий специальные атрибуты.

В настройках список поделен по программам. По умолчанию показаны не более трех действий. Нажатие на «Показать все» отображает полную картину.

Например, для популярного заметочника Evernote разработаны следующие команды:

  • создать аудиозаметку;
  • создать новую фотозаметку, запустив камеру;
  • скопировать в буфер обмена ссылку на текущую заметку;
  • распечатать текущую заметку;
  • создать PDF-файл из текущей заметки.

Если нажать на иконку плюса напротив любого из действий, откроется экран для взаимодействия с Siri. Все просто: записав определенную фразу, вы сможете активировать команду через голосового ассистента. Разработчики могут оставить подсказку, но доступно использование любых других слов.

После записи, на экране появится транскрипция фразы. При нажатии на кнопку «Изменить», выпадающее меню покажет еще несколько вариантов: на случай, если система распознавания текста сработала неправильно. Также можно полностью перезаписать фразу.

Если запись прошла успешно, iOS запомнит команду. Теперь запустить ее можно будет с помощью Siri на любом iPhone, iPad, iPod Touch, Apple Watch и даже HomePod, связанных с этой учетной записью Apple ID. Правда, на HomePod сначала придется активировать поддержку «персонализированных запросов». Это можно сделать из приложения «Дом» в настройках гаджета.

Еще один способ добавить команды в Siri — спецификации отдельных приложений. Для этого нужно открыть «Настройки», выбрать интересующую программу, открыть раздел «Siri и поиск». Там тоже доступен список персонализированных команд и предложенные варианты.

Наконец, записывать шаблоны можно и в самих приложениях. В iOS 12 разработчики могут внедрить в приложения кнопку «Add to Siri», чтобы запустить процесс записи команды. Также разработчики получили инструментарий, чтобы отображать внутри приложения уже записанные фразы для активации команд и давать пользователю доступ к ним.

Напомним, что начиная с iPhone 6s и iPad Air 2, а также на Apple Watch Series 1 и 2, для активации Siri можно произнести фразу «Hey Siri», не зажимая физических клавиш. На Apple Watch Series 3 и 4 можно открыть «Настройки» – «Основные» — «Siri» и включить функцию «Raise to Speak». Тогда достаточно будет поднять запястье и произнести команду, без приветствия Siri.

Просмотреть весь список оформленных системных команд (тех, для которых записаны кастомные фразы в Siri) можно в разделе «Настройки» — «Siri и поиск» — «Мои команды».

Как сделаны и чем отличаются системные команды

Простые команды, которые позволяют перейти к заданному процессу или контенту внутри приложений, работают на базе API под названием NSUserActivity. Это достаточно распространенный инструментарий.

Однако у разработчиков есть другая возможность работать со встроенной автоматизацией — инструментарий SiriKit. Благодаря нему, при запуске системной команды или ее активации через Siri, можно отображать кастомный интерфейс, не запуская само приложение. Иными словами, любое повторяющееся и простое действие можно превратить в команду, а также запускать и выполнять его прямо из интерфейса Siri, а не third-party программы.

Например, погодная программа Carrot Wheather может показывать развернутый прогноз погоды. Если эти команды запускаются из поиска, то внутри системного экрана отображается просто интерфейс приложения. Если запустить команду, построенную на SiriKit, через записанную голосовую команду, то голосовой ассистент также прочитает контекстуальный ответ.

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

Лучше всего ситуацию иллюстрирует трекер выпитого Waterminder. В программе можно создать команду, чтобы по кодовой фразе записывать в журнал прием жидкости — например, стакана воды. Однако из последующей за команды панели нельзя регулировать объем или сменить тип жидкости (например, на кофе или сок). Пользователь увидит лишь две кнопки: отменить и подтвердить занесение позиции в журнал. Точно так же, невозможно развернуть на базе интерфейса Siri полноценный калькулятор или панель для ввода заметок. Команды могут показывать контент, но не дают полных прав на взаимодействие.

Лайфхак: активировать команды всех типов (системные и созданные в программе Shortcuts) можно и без разговора с Siri. Голосовой ассистент поддерживает режим «Type to Siri», при котором вместо речи используется печать. Эффективнее всего работать в таком режиме на iPad, настроив клавиатурные сокращения — так, напечатав всего пару букв, система развернет их в полноценную фразу, а та, в свою очередь, запустит исполнение команды.

Приложение Shortcuts

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

Приложение Shortcuts работает иначе. В нем полный контроль получает пользователь. Говоря простыми словами, Shortcuts — среда для создания пользовательских команд, которые можно запускать из интерфейса программы, фирменного виджета, расширения для шеринга и Siri.

Интерфейс Shortcuts, как и логика работы, незначительно изменились со времен, когда программа называлась Workflow. Программа стала лишь больше напоминать программу для автоматизации Automator, работающую на macOS. Для базовой работы с Shortcuts не нужны знания языков программирования — достаточно понимания базовых концепций, по которым взаимодействуют отдельные блоки.

Поэтому, приложение часто называют примером «визуальной среды программирования». Это определение не лишено смысла. По сути, для создания собственных команд нужно оперировать переменными — частичками контента, которые могут изменять содержание при каждом запуске команды. Пользователь задает лишь тип переменной — содержание определяется благодаря функции Magic Variables. Также, пригодится понимание логических операторов и взаимодействия между ними.

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

Интерфейс Shortcuts поделен на две секции. Это «Библиотека» со всеми сохраненными пользователем командами и «Галерея», куда попадают отобранные командой кураторов Apple команды. При знакомстве с программой, лучше начать со второго раздела. В нем подобраны готовые к использованию команды, которые добавляются в библиотеку по тапу.

Например:

Запустить команды можно разными способами. Все зависит от их назначения и типа данных, которые используются в качестве вводной переменной.

Например, для вызова избранного контента приложению Shortcuts нужно получить только запрос от пользователя. Соответственно, команда будет запускаться из раздела «Библиотека», виджета приложения, из поиска и через Siri (при наличии записанной команды).

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

Описать все возможности Shortcuts просто так не получится – приложение невероятно вариативно. У него есть продвинутые интеграции как со сторонними программами, так и с нативным софтом iOS, а также поддержка HTTP-запросов и возможность использовать движок NSRegularExpression для работы с регулярными выражениями. Последняя фича позволяет применять гибкие поисковые фильтры к тексту.

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

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

Чтобы открыть редактор команды, нужно нажать на троеточие. Тогда программа покажет все действия и связки между ними, которые приводят в действие команду. Эту же последовательность можно просмотреть и при добавлении команды. Редактирование проходит с помощью перетягивания элементов, а также поиска их через разворачиваемую нижнюю панель и добавления в состав скрипта.

На iPad работать с редактором удобнее: там составляющие элементы вынесены в боковую панель. Оно показывает три закрепленных раздела: «Избранные», «Предложения Siri» и «Скриптинг». Далее идет разбивка по типам контента: от приложений до сервисов. Здесь особенно интересно отметить «Предложения Siri». Это мета-категория, которая позволяет создавать пользовательские команды, пользуясь системными командами, о которых шла речь в первой половине текста.

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

В будущем, если Apple откроет возможность редактировать системные команды внутри приложения Shortcuts, а не будет отдавать их целиком на откуп Siri и разработчиков, автоматизация системы может стать еще более продвинутой. Однако, это дело грядущего будущего — пока что Shortcuts получает более минорные обновления. Так, в версии 2.1, которая дебютировала в конце октября, приложение получило поддержку работы с погодным клиентом, часами, а также улучшенные настройки iCloud-шеринга.

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

Так, можно добавить команду в Siri (записать фразу), включить/выключить показ в виджете, добавить в число расширений при шеринге, а также вывести на главный экран или поделиться по ссылке. Дело в том, что хотя «Галерея» команд в приложении целиком состоит из разработанных в Apple скриптов, пользователи могут свободно обмениваться командами.

Перечислим лишь ряд источников, где можно найти user-generated команды: тематический сабреддит Shortcuts, канал «Команды» в Telegram, сборник команд от издания MacStories.

Примеры полезных команд

Перечислить все доступные на сегодня команды — попросту невозможно. Выбрать из них релевантные вашим запросам и стилистике пользования устройствами — затруднительно. Журналист AIN.UA выбрал наиболее используемые и практически применимые команды из своей коллекции.

Чтобы добавить себе команды, достаточно просто перейти по ссылке с любого iOS-устройства с установленным приложением Shortcuts. В программе работает облачная синхронизация, поэтому добавленные команды появляются на всех устройствах.

  • Показать предстоящие мероприятия — отображает список из 5 ближайших событий в календаре.
  • Загрузчик файлов — загружает файл по ссылке и позволяет сохранить его в iCloud Drive или другом хранилище с интеграцией в приложение Files.
  • Zip and Share — команда для архивирования файлов. Полученными архивами можно делиться через стандартное меню шеринга.
  • Трекер воды — команда добавляет в интерфейс HealthKit запись о выпитом стакане воды. Объем по умолчанию — 150 мл.
  • В этот день — команда, которая показывает фотографии, снятые в этот день в предыдущие годы. Если снимком больше одного, они группируются в коллаж.
  • Совмещение изображений — команда объединяет вместе несколько картинок из галереи.
  • DND-меню — позволяет управлять режимом «Не беспокоить», устанавливая его в мануальном режиме, до истечения события в календаре или до определенного времени.
  • Конвертировать меры — позволяет переводить сантиметры в дюймы и наоброт.
  • Открыть любую песню в Apple Music — при шеринге песен из YouTube, Spotfify или Soundcloud, находит композицию в Apple Music.
  • Фотобудка — создает серию фотографий с различными эффектами и объединяет их в ленту. При съемке активирует тройную вспышку камеры и звуковые эффекты.
  • Предусмотрительный будильник — команда, которая ставит будильник за 90 минут до начала первого события в календаре.
  • Генератор мемов — накладывает текст на изображение.
  • Генератор мокапов — вставляет скриншоты с iPhone, iPad и Apple Watch в соответствующие мокапы.
  • Скорость видео — ускоряет или замедляет снятый ролик до 300% в обоих направлениях.
  • Загрузчик медиа — активирует загрузки видео из YouTube (до 720p), публикаций и Stories из Instagram, видео и GIF из Twitter, а также роликов из Facebook.
  • Speedtest — запускает сервис Fast для проверки скорости интернет-подключения.