没有调用SiriKit Intent Handler

时间:2018-09-25 17:42:43

标签: ios swift sirikit

我有一个包含Siri Intent的应用程序,它们运行良好。您可以让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)
    }
  }
}

但是Siri从未完成。我应该手动打电话吗?我需要扩展调用这些功能吗?

1 个答案:

答案 0 :(得分:0)

之所以没有被调用,是因为您尚未将语音意图扩展名添加到“应用目标”的dependencies部分下的Build Phase列表中。