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,并将授权文件添加到项目中。
启用Siri后,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