我正在探索SiriKit,我想使用它将数据发送到web服务器。基本上,每当用户说“嘿Siri,用SomeApplication发送数据”时,我就想发送一些数据。这里'SomeApplication‘是我的应用程序的名字。我谷歌了一下,但我知道我只能使用SiriKit给出的意图,我不能创建自己的意图。如果有办法的话请帮帮我。
发布于 2018-04-02 18:38:39
这是真的,你不能创造自己的意图,但有一个技巧,你可以玩。您可以使用消息传递意图,而不是发送文本消息,您可以从那里进行服务调用。在IntentHandler.swift文件中,修改resolveRecipients方法的代码以创建自定义联系人。这将导致显示消息用户界面,但将跳过询问收件人的步骤。相反,Siri会直接要求您在resolveContent方法中接收消息。从那里得到它,然后打电话给你的web服务。就这么简单。
这是密码
func resolveRecipients(for intent: INSendMessageIntent, with completion: @escaping ([INPersonResolutionResult]) -> Void) {
let resolutionResults = [INPersonResolutionResult.success(with: INPerson.init(personHandle: INPersonHandle.init(value: "Raw", type: .unknown), nameComponents: PersonNameComponents.init(), displayName: "Raw", image: INImage.init(), contactIdentifier: "Raw", customIdentifier: "Raw"))]
completion(resolutionResults)
}有关详细示例,您可以签出此用于SiriKitDemo的Git
https://stackoverflow.com/questions/49616781
复制相似问题