SiriKit框架解析 (三) SiriShortcuts 开发实践

第一步:新建一个项目

第二步: 创建Custom Intent

在项目中通过“New File…” 创建一个Intents.intentdefinition文件。
cmd+n 搜索关键字intent

创建完之后项目中出现.intentdefinition文件:

第三步: 创建Intent意图

选中.intentdefinition文件 -> No Intents -> 加号 -> New Intent

创建完之后,这里命名为StarIntent

第四步: 填写Intent信息

  1. Custom Intent基本配置Custom Intent部分中的选项定义了它的意图类型,并且可以影响Siri如何处理该操作。 告诉Siri这是一个Post类型动作让系统知道你在某处分享了一些内容:
  • Category:Post
  • Title:Post Article
  • Description:Post the last article
  • Default Image: Select one of the existing images in the project
  • Confirmation: Check this box since you want to ask the user to verify that they’re really ready to publish this article

Parameters部分用于定义Title和Subtitle中使用的任何动态属性,您现在可以使用这些属性。

  • 定义一个名为article的参数,它是一个Custom数据类型,一个是类型为String的publishDate。

  • 然后,在Shortcut Types部分中,单击加号按钮以添加一个包含article和publishDate参数作为其参数的类型。

  • 接下来,设置快捷方式的Title和Subtitle。

    将标题设置为Post “${article}”和副标题设置为on ${publishDate}。 如果您不复制和粘贴,请确保让Xcode自动完成article和publishDate。

  • 最后,确保选中Supports background execution,这样您就不会被迫离开Siri UI。

  1. Responses配置:
    单击Response,您可以定义Siri将如何响应用户。

    在Properties下,您可以再次定义Siri所说的动态部分。 添加title,publishDate和failureReason的属性;把它们都定义为字符串。

然后,在Response Templates下,为failure添加此模板:

抱歉,没找到"${title}"

为成功添加以下模板

Nice,即将为你打开"${title}"

第五步:添加Frameworks

第六步:添加Shortcut按钮

在vc中引入头文件,并初始化intent和shortcutButton


![](https://img-blog.csdnimg.cn/20190807170742584.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0tldmluZG9uZ2t1bg==,size_16,color_FFFFFF,t_70)

协议方法:

用于在Siri中通过设定语音调起应用时处理Siri的请求。
最终效果:

打开设置-Siri与搜索在这里插入图片描述

手机Siri应用建议: