我有一个包含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从未完成。我应该手动打电话吗?我需要扩展调用这些功能吗?
答案 0 :(得分:0)
之所以没有被调用,是因为您尚未将语音意图扩展名添加到“应用目标”的dependencies
部分下的Build Phase
列表中。