美文网首页iOS
iOS Siri Shortcuts 集成初探 (Objecti

iOS Siri Shortcuts 集成初探 (Objecti

作者: Santiago_1991 | 来源:发表于2018-11-16 12:54 被阅读0次

    关于iOS端集成Siri Shortcuts网上看了很多都是Swift的教程,苹果官方给的例子代码也是Swift的,不熟悉Swift的人看起来还是有点困惑,今天给大家介绍下关于怎样集成基于Objective-C的Siri Shortcuts,简单粗暴。

    先看一些基本的概念吧,首先创建一个Siri Shortcuts有两种方式,分别是:

    创建Siri Shortcuts 方式

    NSUserActivity的方式比较粗,而且不够精确优雅,这里不作讨论,有兴趣的同学可以去看苹果官方文档和视频这里重点介绍下Intents的方式。

    Intents创建Siri Shortcuts大致步骤如下:

    创建步骤



    0. 准备

    打开主target的SiriCapabilities

    添加Intents Extension

    File -> New -> Target -> Intents Extension



    1. Define Shortcut

    添加Intents文件

    File -> New -> File..., 选择 SiriKit Intent Definition File

    配置Instents文件

    点击左下角加号 -> New Intent -> 命名(XXXname,我这里用的BreakFast)

    填写Title和Description, Intent和Response分别有对应的Title和Description, 另外Response中配置的模板编译成功后会生成相应的API,下文会提到(截图BreakFastHandler.m)。

    选择Category为Order(Category有很多种,不同的Category在和Siri交互的时候有不同的文字提示,按钮样式和语音提示,请看官方介绍)

    编译

    编译成功后会自动生成对应的一系列类和方法,后面会用到,这里需要注意的是Objective-C在Import对应的类可能没有提示,一般不用管直接import就行了,类名就是XXXnameIntent、XXXnameHandler等等,可以在Macintosh HD⁩ ▸ ⁨Users⁩ ▸ ⁨<user> ▸ ⁨Library⁩ ▸ ⁨Developer⁩ ▸ ⁨Xcode⁩ ▸ ⁨DerivedData⁩ ▸ ⁨<project-id> ▸ ⁨Build⁩ ▸ ⁨Intermediates.noindex⁩ ▸ ⁨<project>.build⁩ ▸ ⁨Debug-iphoneos⁩ ▸ ⁨<project>.build⁩ ▸ ⁨DerivedSources⁩ ▸ ⁨IntentDefinitionGenerated⁩ ▸ ⁨Intents⁩中看到,也可以在右边栏中找到如图

    查看编译后的头文件名称

    指定Target

    苹果官方推荐的使用方法是提取一个公共的framework,方便extension和target使用

    指定target 官方推荐做法和常规做法

    修改plist

    准备阶段创建的Extension文件夹下的Info.plist文件,如下图

    修改plist



    2. Donate Shortcut

    在任何合适的地方Donate Shortcuts给系统,代码如下:

    Donate和设置语音



    3. Handle Shortcut

    新建一个BreakFastHandler继承自NSObject,用于接收我们自定义的Intent

    BreakFastHandler.h BreakFastHandler.m

    在Extansion目录下IntentHandler.m中把我们的Handler加进去

    IntentHandler

    done~

    Intent方式优点

    1.不用打开App也能以多种方式交互

    2.自定义交互的声音和UI

    3.可以智能推荐,比如在某个特定的时间和地点推荐特定的Shortcuts(市场上很多App都可以做这一块的功能但是都没做)

    这里需要注意的是Siri Shortcuts虽然很棒但是不能滥用哦。

    欢迎小伙伴们在评论区交流~

    相关文章

      网友评论

        本文标题:iOS Siri Shortcuts 集成初探 (Objecti

        本文链接:https://www.haomeiwen.com/subject/qqapfqtx.html