iOS 12中的Siri快捷方式简介

在圣何塞举行的WWDC 2018上,Apple宣布了Siri Shortcuts,这是期待已久的功能,它使开发人员能够在自己的应用程序中扩展和增强Siri的功能。 以前,SiriKit SDK的整体功能非常有限。 随着Siri快捷方式的出现,开发人员可以扩展Siri的功能并构建自定义语音操作来调用应用程序。

Siri Shortcuts的核心是自动化。 实际上,Siri Shortcuts是由Workflow演变而来的,Workflow是由前WWDC学者构建的iOS自动化应用程序。 苹果于2017年收购了Workflow,但此举并不具有特色,因此在被收购后该应用就一直在App Store上保持上线状态。

快捷方式使您可以向Siri展示应用程序的功能。

如今,Apple的新Siri Shortcuts应用程序大量借鉴了Workflow应用程序。 但是,区分语音快捷方式和“快捷方式”应用程序很重要。 快捷方式应用程序允许用户为日常日常任务创建基于语音的短语,而Siri快捷方式则使开发人员能够在自己的本机应用程序中扩展Siri的功能。

在撰写本文时,“快捷方式”应用程序无法在iOS 12 Beta 2 Build中进行测试。 相反,我们将在我们构建的自定义应用程序中探索Siri快捷方式的实用程序。

注意:本教程假定您已基本熟悉NSUserActivity API。 如果您不这样做,请在此处参阅有关该主题的出色教程。

在本教程中,我们将探索如何在一个简单而基本的项目中利用Siri快捷方式,该项目将使用户说出“ Say Hi”之类的短语,然后我们将启动我们的应用程序并显示一个UIAlertView。

该应用程序的目的是提供一个简单的概述,说明如何在您的应用程序中集成Siri快捷方式,而不会增加大型项目的混乱情况。 在本教程结束时,您应该对SiriShortcuts背后的用例和技术有扎实的了解,并且知道如何将它们与应用程序集成!

在开始任何新项目时,重要的是首先花一些时间来建立基本的项目结构。 首先,请确保您具有iOS 12,macOS Mojave和Xcode 10的最新开发人员预览。如果您没有这些工具,那么您将无法运行本教程中的代码,因为Siri Shortcuts是该工具中引入的新API。 Xcode 10和iOS 12 Beta。 如果您是注册的Apple Developer,则可以从Developer Site下载它们。

启动Xcode并创建一个新的Single View App,在SiriShortcuts键入名称(或您想要的任何名称)。 我们将com.appcoda包含为组织标识符,但可以随时将其更改为您自己的组织标识符。 完成后,单击“ 创建”以加载Xcode项目。

首先,导航到Xcode项目的“ 项目设置”部分,选择“ 功能” ,然后向下滚动,并确保启用了Siri,如下所示。 这将使我们能够在应用程序中使用Siri SDK,并将授权文件添加到项目中。

启用S​​iri后,Xcode将向您的项目添加.entitlements文件。 接下来,我们将导航到项目构建设置的“ 常规”选项卡,滚动到底部,然后选择“ Linked Frameworks and Libraries 。 确保单击此处的+按钮添加框架。 搜索Intents.framework ,然后选择“ Add 。 这将使我们能够在应用程序中使用新的Intents框架。

最后,导航到您的Info.plist文件,并添加具有键值对的NSUserActivityTypes字典。 第一项的值应包括捆绑商品标识符,并带有附加的动作,如“ sayHi”。

要创建快捷方式,首先定义快捷方式,然后捐赠快捷方式。

既然我们的项目都已经定义了快捷方式,那么该开始编写代码了! 为了通过Siri向我们的用户提供快捷方式,我们利用了称为“快捷方式捐赠”的过程。

根据苹果官方开发人员文档,

每当用户在您的应用中执行操作时,您都应该捐赠一个快捷方式。 例如,如果用户可以使用您的应用从餐厅订购汤,则在用户下订单后为订购汤操作捐赠快捷方式。 不要为用户尚未在您的应用程序中完成的操作捐款; 如果用户从不下订单订购汤,则不应为订购汤操作捐赠快捷方式。

显然,只有在捐赠提供有意义的用例并可以增强应用程序的整体功能时,才应使用捐赠。

好的,回到编码!

转到您的ViewController.swift文件。 在viewDidLoad方法之后,创建一个名为setupIntents的新方法。 在此方法内,我们将包括Siri快捷方式代码。

如您所见,在项目中使用NSUserActivity来利用Siri Shortcuts的功能非常容易。 在本教程中,我们设置了一个基本应用程序,该应用程序在您自己的应用程序中利用了该技术。 如您所见,这里的可能性是无穷无尽的,开发人员肯定会以创造性和独特的方式利用这项新技术。 直到下一个蒂姆


关于作者:
Gregg Mojica是Clovis(一家专注于语音技术的初创公司)的软件工程师兼首席执行官。 在不费力地构建前端,后端以及其他所有代码的工作时,他喜欢写作,分享知识和摄影。 Gregg已在应用商店上发布了多个应用,并在多家初创公司工作。 您可以在Twitter上关注他,也可以在LinkedIn上与他联系。

该文章首先在AppCoda.com上发布。


在社交媒体平台上关注我们:
面子书:facebook.com/AppCodamobile/
Twitter:twitter.com/AppCodaMobile
Instagram的:instagram.com/AppCodadotcom

如果您喜欢这篇文章,请单击👏按钮并分享以帮助其他人找到它! 随时在下面发表评论。