Я пытаюсь создать голосовой ярлык для настраиваемого Siri Intent, работающего как часть приложения Apple Watch, но я не уверен, возможно ли это. Кто-нибудь имел успех с этим или знает, поддерживается ли он?
В этом случае не так много кода для совместного использования, так как большая часть кода автоматически сгенерирована XCode, но вот краткий обзор того, как у меня все настроено.
Я создал пользовательский Intent с файлом .intentdefiniton
и отдельными целями Intents Extension для приложения iOS и watchOS для обработки Intent.
Я установил и пожертвовал ярлыки в подходящее время. Я включил INUIAddVoiceShortcutButton в свое приложение, чтобы пользователь мог легко добавлять или редактировать фразу для ярлыка.
Все отлично работает на iPhone: ярлык отображается в соответствующие моменты времени в iOS, а расширение Intents в моем приложении iOS обрабатывает ярлык, когда я говорю Siri фразу вызова.
Поскольку 20% пользователей моего приложения используют приложение Apple Watch, я хочу обеспечить удобство работы с watchOS. Пожертвованный ярлык появляется на циферблате Siri, как и ожидалось. Я запускаю ярлык на циферблате Siri и обрабатывается расширением Intents, которое является частью моего приложения watchOS.
Однако, когда я говорю фразу вызова намерения моим часам Apple Watch (только для GPS Series 3), это не работает. Сири говорит:
Проверка с помощью приложения ...
Затем, через несколько секунд:
Я не узнаю эту команду.
Я пробовал это с отдельным расширением Intents для моего приложения watchOS и без него. Я получаю одинаковые результаты в обеих ситуациях. Работает на симуляторе, но не на реальном устройстве.
Я также убедился, что выбрал мое приложение Watch Extension и Watch в разделе Целевое членство для файла .intentdefinition
.
Я также пытался зайти в Настройки> Разработчик и включить Показать последние ярлыки , а затем нажать Принудительно синхронизировать ярлыки для просмотра , но это не меняет поведения.
Поддерживаются ли ярлыки голоса для этих пользовательских намерений даже в Apple Watch? Я не смог так или иначе сказать с документацией Apple. Пример проекта SoupChef настроен с расширением Intents для приложения watchOS, которое заставляет меня думать, что оно должно поддерживаться. И, поскольку он работает на симуляторе, я думаю, что его следует поддерживать.
Однако на этой странице не указаны настраиваемые намерения, которые поддерживаются в watchOS, поэтому я думаю, что они могут не поддерживаться: https://developer.apple.com/design/human-interface-guidelines/watchos/user-interaction/siri/
Если кто-нибудь может помочь мне выяснить, поддерживается ли это, я был бы очень признателен. Я не уверен, что делаю что-то не так или это просто не поддерживается.