Siri ярлык пользовательского ответа без расширения? - PullRequest
0 голосов
/ 20 сентября 2018

У моего приложения есть собственное намерение, и оно предлагает пользователю ярлык, подобный следующему:

    let intent = ReadIntent()
    if let shortcut = INShortcut(intent: intent) {
        INVoiceShortcutCenter.shared.setShortcutSuggestions([shortcut])
    }

Мое приложение всегда запускается для обработки ярлыка, поэтому я просто обрабатываю его в application(_:continue:restorationHandler:).Там нет намерения расширения.

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

В примере Soup Chef , например, говорится:

Soup Chef помечает каждый тип ярлыка Поддерживает фоновое выполнениеТаким образом, системе не нужно открывать приложение для обработки намерения.При такой маркировке система использует расширение приложения намерения Soup Chef для обработки заказа.

А затем объясняется, как добавить пользовательский ответ в расширение приложения.Но мое приложение должно быть запущено в любом случае, поэтому я не отмечаю эту опцию, и намерение не обрабатывается расширением.Нет ли способа вызвать ответ без него?Это звучит как нечто очень простое, и ответ уже находится в файле определения намерений, я просто не могу заставить Сири сказать это.(

1 Ответ

0 голосов
/ 05 октября 2018

Насколько я могу судить, вы можете заставить Сири отвечать, только если намерение выполняется в фоновом режиме.И это возможно только путем пометки намерения как «Поддерживает фоновое выполнение» и использования расширения намерения.

...