Я перешел к настройке намерений сейчас и обнаружил, что даже при установке только одного намерения и работе INUIAddVoiceShortcutButton не удается отследить мой ярлык.Как только фраза записана, на ней отображается «Добавлено в Siri» с фразой.
Но каждый раз, когда приложение перезапускается, кнопка «Добавить в Siri» появляется вместо кнопки «Добавлено в Siri» с записанной фразой.
IЯ попытался воспользоваться предложением Билала, и хотя я вижу, что INVoiceShortcutCenter показывает мой ярлык в подарок, он не загружает его в кнопку Siri.
Мой код выглядит так для самой кнопки.
private func addSiriButton() {
let addShortcutButton = INUIAddVoiceShortcutButton(style: .blackOutline)
addShortcutButton.delegate = self
addShortcutButton.shortcut = INShortcut(intent: engine.intent )
addShortcutButton.translatesAutoresizingMaskIntoConstraints = false
siriButtonSubView.addSubview(addShortcutButton)
siriButtonSubView.centerXAnchor.constraint(equalTo: addShortcutButton.centerXAnchor).isActive = true
siriButtonSubView.centerYAnchor.constraint(equalTo: addShortcutButton.centerYAnchor).isActive = true
}
У меня есть все реализованные протоколы, и я внимательно посмотрел на приложение Soup, но просто не могу понять, что является причиной этой неточности.
Довольно забавно, даже приложение British Airwaysразработчики отказались от этого, поскольку их кнопка имеет точно такое же поведение ошибки.
Обновление : я создал еще один тестовый проект с минимальной реализацией для Intent и Add to Siri иДобавлено в Сири работает отлично.Я предполагаю, что в моей собственной базе приложений есть что-то, что вызывает это нежелательное поведение.
update 2 Просто хотел, чтобы все знали, что я исправил проблему.Использование намерений работает нормально, но в самом файле определения содержания определенно есть небольшая чувствительность.Все, что мне нужно было сделать, это создать новое намерение, которое затем было сгенерировано, и это сработало.Кажется, мое первоначальное намерение было как-то повреждено, но ошибок не было.После создания другого намерения и переназначения функции обработки намерений все это заработало как задумано.(каламбур)