Siri-自定义响应

时间:2018-10-23 16:56:26

标签: ios objective-c siri sirikit

我正在开发Siri扩展程序,我想知道是否有可能根据情况更改Siri的响应。

例如,如果在iPhone充电时支持该应用程序,并且用户在不充电时要求Siri采取某些措施,我希望Siri回答“'App Name'要求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中返回nil,则Siri仅显示Siri error message in simulator

基本上,我想更改“对不起,该应用程序有问题”。带有我自己的错误消息。

一些答案​​建议使用AVSpeechSynthesizer来传达我的错误消息,但是它有两个问题。

  1. AVSpeechSynthesizer与Siri响应重叠。
  2. 无法更改Siri屏幕上显示的消息。

如果有人知道如何修改Siri的回复(文字和语音),请给我一些建议。

1 个答案:

答案 0 :(得分:0)

返回nil是一个问题,需要一个类实例。另外,您还应该以确认意图方法进行充电测试。