Siri - индивидуальный ответ

Я работаю над расширением Siri, и мне интересно, можно ли изменить ответ Siri в зависимости от ситуации.

Например, если приложение поддерживается, когда iPhone заряжается, и если пользователь запрашивает у Siri какие-то действия, пока он не заряжается, я хочу, чтобы Siri ответила: «Имя приложения» требует, чтобы iPhone заряжался, чтобы выполнить действие. "

- (id)handlerForIntent:(INIntent *)intent {
    if(charging){
        //Phone is charging; pass corresponding handler
        ...
    }else{
        //Phone is not charging; tell user to charge phone
        return nil;
    }
}

На этом этапе, если я верну nil в handleForIntent, Siri просто покажет  Сообщение об ошибке Siri в симуляторе

Обычно я хочу изменить "Извините, с приложением возникла проблема". с моим собственным сообщением об ошибке.

В некоторых ответах предлагалось использовать AVSpeechSynthesizer для передачи моего сообщения об ошибке, но у него есть несколько проблем.

  1. AVSpeechSynthesizer совпадает с ответом Siri.
  2. Невозможно изменить отображаемое сообщение на экране Siri.

Если кто-нибудь знает, как изменить ответ Siri (текст и речь), дайте мне совет.


person Hikaru Watanabe    schedule 23.10.2018    source источник
comment
Вы можете определить свой собственный класс ответа с сообщениями об успехе, неудаче и другими результатами. средний .com / @ pietropizzi /   -  person ondermerol    schedule 25.10.2018
comment
OMG спасибо, я посмотрю на это. По какой-то причине мне не удалось его найти. Очень очень ценится   -  person Hikaru Watanabe    schedule 25.10.2018
comment
Похоже, пользовательское намерение можно использовать только для ярлыка   -  person Hikaru Watanabe    schedule 26.10.2018


Ответы (1)


Возврат nil является проблемой, требуется экземпляр класса. Также вы должны обработать тест для зарядки в методе подтверждения намерения.

person vilmoskörte    schedule 18.11.2018