Я хотел бы создать настраиваемое действие ярлыка для моего приложения таймера обратного отсчета, которое возвращает переменную, содержащую оставшееся время обратного отсчета. Возврат параметров из пользовательских ярлыков - это новая функция iOS 13, но мне не удалось заставить ее работать.
Что я пробовал
IЯ определил мой Intent и создал расширение намерений в Xcode 11, используя обычную процедуру. Я успешно пожертвовал действия для Siri / Shortcuts и заставил их работать должным образом, взаимодействуя с Siri и запуская их из приложения Shortcuts под iOS 13.1. В настоящее время одно из моих действий - Siri сообщает строку, описывающую оставшееся время, и показывает время, которое тикает в расширении IntentsUI. При запуске из ярлыков это действие успешно отображает расширение IntentsUI ViewController. Я хотел бы, чтобы это действие передавало параметр с оставшимся временем, которое может использоваться другими действиями быстрого доступа.
Я создал выходной параметр и назначил его для намеренного ответа, используя шаги, описанные в 29:51. это видео WWDC 2019 . Это включает в себя изменение файла определения намерений приложения, чтобы определить переменную, добавить ее в качестве свойства в ответ намерения и пометить его как вывод. Генерация кода намерений Xcode успешно добавляет выходную переменную в мой протокол обработки намерений, и я могу получить доступ и заполнить выходную переменную в моем обработчике намерений.
Что не работает
К сожалению, когда я запускаю действие в ярлыках, оно, похоже, не предоставляет выходную переменную. Например, если я добавляю «текстовое» действие под ним, нет строки, соединяющей мое настраиваемое действие с текстовым действием. Если я попытаюсь добавить переменную к более позднему действию, эта переменная не появится в списке доступных переменных и не будет зависать от моего действия, когда я нажимаю кнопку «магические переменные».
Я знаючто другие разработчики приложений успешно реализовали действия ярлыков с выходными параметрами, так что я не являюсь ошибкой Xcode 11 или iOS 13 (которых много). Любая помощь / совет будет принята с благодарностью.