У меня есть приложение, которое включает Siri Intents, и они работают хорошо.Вы можете сделать так, чтобы Siri запустила приложение, и оно выполнит действие, как ожидается.Все мои намерения должны произойти в приложении, поэтому у меня нет расширения для них.
Однако, используя приложение «Ярлыки», когда я использую ярлык, приложение просто останавливается в моем приложении и не продолжается, поэтому Siri не получает ответ обработчика.
Прямо сейчас мой делегат откроется от действия внутри вызова NSUserActivity, и я буду использовать пользовательский класс, чтобы определить, какой это ярлык, и выполнить указанное действие.
У меня есть этот пользовательский класс, соответствующий протоколу IntentHandler для каждого действия, и я вызываю ответ .success в обработчике завершения.
Здесь я думаю, что могу ошибаться.Я вручную вызываю протокол Handler внутри своего пользовательского класса.
func handleSiri(_ intent: INItent) {
if intent is ActionIntent {
func handle(intent: ActionIntent, completion: @escaping (ActionIntent Response) -> Void) {
let response = DisconnectIntentResponse.init(code: .success, userActivity: nil)
print("Intent was a success")
completion(response)
}
}
}
Однако Сири никогда не завершает.Должен ли я звонить это вручную?Нужно ли, чтобы эти функции вызывали добавочный номер?