Siri - пользовательский ответ - PullRequest
0 голосов
/ 23 октября 2018

Я работаю над расширением 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;
    }
}

На этом этапе, если я вернусьноль в handleForIntent, Сири просто показывает Siri error message in simulator

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

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

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

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

1 Ответ

0 голосов
/ 19 ноября 2018

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

...