【发布时间】:2020-02-13 03:31:50
【问题描述】:
我想为我的倒数计时器应用创建一个自定义快捷操作,该操作返回一个包含剩余倒计时时间的变量。从自定义快捷操作返回参数是 iOS 13 的一项新功能,但我没有成功让它工作。
我的尝试
我已经定义了我的 Intent 并使用正常过程在 Xcode 11 中创建了一个 Intent 扩展。我已经成功地向 Siri/Shortcuts 捐赠了动作,并通过与 Siri 交互以及从 iOS 13.1 下的 Shortcuts 应用程序启动它们来让它们正常运行。目前,我的一项操作是让 Siri 报告一个描述剩余时间的字符串,并在 IntentsUI 扩展中显示时钟滴答作响。从 Shortcuts 运行时,此操作成功显示 IntentsUI 扩展 ViewController。我希望此操作能够传递一个参数,其中包含可供其他快捷方式操作使用的剩余时间。
我创建了一个输出参数,并使用this WWDC 2019 video 的 29:51 中描述的步骤将其分配给意图响应。这涉及修改应用程序的意图定义文件以定义一个变量,将其作为属性添加到意图响应中,并将其标记为输出。 Xcode 的意图代码生成成功地将输出变量添加到我的意图处理协议中,并且我能够在我的意图处理程序中访问和填充输出变量。
什么不起作用
不幸的是,当我在快捷方式中运行该操作时,它似乎没有提供输出变量。例如,如果我在其下方添加“文本”操作,则没有将我的自定义操作连接到文本操作的线。如果我尝试将变量添加到稍后的操作,则该变量不会出现在可用变量列表中,当我点击“魔术变量”按钮时,它也不会出现在我的操作中。
我知道其他应用程序开发人员已经成功实现了带有输出参数的快捷方式操作,所以我似乎不是 Xcode 11 或 iOS 13 的错误(其中有很多)。任何帮助/建议将不胜感激。
【问题讨论】:
-
你解决了吗?
标签: ios swift shortcut ios13 sirishortcuts