如何调试我的Siri(Intents)扩展?

时间:2016-06-29 08:10:51

标签: ios siri ios10 intents-extension xcode-debugger

我正在建立一个 Siri 又名意图扩展。 我知道我可以在启动后将调试器附加到正在运行的进程,但是,我从未看到过我的进程。我确实拥有我的应用程序设置为激活的授权,并且扩展程序必须至少运行一段时间,Siri正在显示明确的响应。

通过Apple文档,您应该使用Siri作为主机应用程序运行扩展方案。但是,如果我尝试在设备上没有任何反应,它就会等待永远的依赖。 Apple提到第一个连接可以采用" several minutes",但不是几个小时......

知道我哪里出错或如何实现与调试器的连接?或者至少是一些控制台输出?

3 个答案:

答案 0 :(得分:7)

只需选择您的siri扩展方案并点击运行按钮,然后xcode会提示您选择的应用列表,只需选择您的应用,有关详细信息,请查看文章:http://jamesonquave.com/blog/adding-siri-to-ios-10-apps-in-swift-tutorial/

答案 1 :(得分:3)

  1. 首先在设备中运行您的应用。

  2. 选择在您的设备中运行的SIRIKIT扩展方案,从提示的列表中选择您的应用。

  3. 等待SIRI处于活动状态,将正在运行的SIRIKIT扩展程序发送到后台。(有时您也不需要执行此步骤。)

  4. 再次按下主页按钮激活SIRI,发出命令,您将在Intent Handler中看到断点。

答案 2 :(得分:0)

我尝试了所有方法,但没有成功,我认为这是因为我的Mac机太旧(2010年),无法处理。

这是一个非常hack的解决方案,但是可以使用。

使用此网站https://webhook.site

创建一个Webhook

然后,如果您想检查代码是否在某个时候,只需添加以下代码: (别忘了更改与您收到Webhook相同的URL)

let url1 = URL(string: "https://webhook.site/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/your_code_was_here")!
let task1 = URLSession.shared.dataTask(with: url1)
task1.resume()

然后,您只需要再次查看webhook站点以查看GET请求是否到达那里。