How to create a Siri Intent that accepts input passed from user

二次信任 提交于 2019-12-04 10:47:36

问题


I created a custom Intent with parameters like so:

I've donated it:

let intent = PlayIntent()
intent.color = color
let interaction = INInteraction(intent: intent, response: nil)
interaction.donate()

and it shows up correctly:

However, I'd like an Intent which accepts input from the user. Example, Messages.app:

How do I configure my custom Intent to handle input?


回答1:


As far as I can tell, this functionality is not available for third-party shortcuts - by which I mean, the shortcuts not defined by the team who built the Siri Shortcuts (previously Workflow) app. All third party shortcuts show in the Shortcuts app with the text:

This action passes input through as output.

Confusingly, these built-in shortcuts often target third party apps, like Instagram or Overcast. It can be hard to tell which apps' shortcuts have been added by the app developers, and which have been added by the Workflow developers.

Alas.


References:

Shortcuts: A New Vision for Siri and iOS Automation on Mac Stories:

From what I've been able to gather so far, Siri in iOS 12 doesn't currently support the ability to pass an input message to a custom shortcut activated with a user phrase, and it's unlikely to gain such functionality in the first version of iOS 12. This means that Siri will only be a launcher for custom shortcuts, not an actual interface that can pass user commands for specific parameters at runtime.

Also, this tweet:

Here’s the thing about iOS 12 W̶o̶r̶k̶f̶l̶o̶w̶ Shortcuts. Workflow thrives on getting input, and passing along variables to other actions down the chain. But third-party Siri Shortcuts don’t allow for any data input or outputs.



来源:https://stackoverflow.com/questions/52548507/how-to-create-a-siri-intent-that-accepts-input-passed-from-user

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!