Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用SiriKit使用Web服务发送数据?_Ios_Swift_Siri - Fatal编程技术网

Ios 如何使用SiriKit使用Web服务发送数据?

Ios 如何使用SiriKit使用Web服务发送数据?,ios,swift,siri,Ios,Swift,Siri,我正在探索SiriKit,我想用它向web服务器发送数据。基本上,每当用户说“嘿,Siri,使用SomeApplication发送数据”时,我都想发送一些数据。这里的“SomeApplication”是我的应用程序的名称。我在谷歌上搜索了一下,但我知道我只能使用SiriKit给出的意图,我不能创建自己的意图。如果有什么方法可以做到这一点,请帮助我。确实,你不能创造自己的意图,但你可以玩一个小把戏。您可以使用消息意图,而不是发送文本消息,您可以从那里拨打服务电话。 在IntentHandler.s

我正在探索SiriKit,我想用它向web服务器发送数据。基本上,每当用户说“嘿,Siri,使用SomeApplication发送数据”时,我都想发送一些数据。这里的“SomeApplication”是我的应用程序的名称。我在谷歌上搜索了一下,但我知道我只能使用SiriKit给出的意图,我不能创建自己的意图。如果有什么方法可以做到这一点,请帮助我。

确实,你不能创造自己的意图,但你可以玩一个小把戏。您可以使用消息意图,而不是发送文本消息,您可以从那里拨打服务电话。 在IntentHandler.swift文件中,修改resolveRecipients方法的代码以创建自定义联系人。这将导致显示消息传递UI,但会跳过询问收件人的步骤。相反,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)
    }

例如,您可以签出这个

它就像一个符咒,正是我想要的。主持人请接受这一正确答案。非常感谢@pallavtrivedi