在iOS 12中使用NSUserActivity构建Siri快捷方式

在iOS 12中使用NSUserActivity构建Siri快捷方式_第1张图片

更新:

  • 第2部分-使用Intent的Siri快捷方式入门

苹果在WWDC 2018上宣布了Siri 快捷方式 ,该功能使开发人员可以建立体验以从锁定屏幕快速完成任务。 用户将能够使用“ 快捷方式 ”应用程序管理第三方快捷方式,该应用程序将在iOS 12公开发布后提供。

在本文中,我们将介绍如何使用NSUserActivity创建Siri快捷方式。 如果您的快捷方式旨在打开已安装的应用程序,则NSUserActivity是一个不错的选择。 您也可以使用NSUserActivity还原应用程序的状态, 尽管该功能当前在iOS 12 Beta 4中已被打破

先决条件

  • iOS 12 Beta 4或更高版本
  • Xcode 10 Beta 4

实作

在Xcode中创建一个新的Single View Application项目,并将其命名为“ HotCoffee ”。 HotCoffee应用程序将负责在您需要时向我们订购热咖啡。 用户界面设计完全取决于您,我们采用了最简单的方法,如下所示。

在iOS 12中使用NSUserActivity构建Siri快捷方式_第2张图片

为了让Siri了解我们的咖啡饮用行为,我们需要将我们的活动捐赠给Siri。 在我们的方案中,捐赠活动的最佳时间是下订单时。 以下代码用于捐赠您的活动。

我们首先创建订单活动。 这是通过使用NSUserActivity类并将活动类型作为字符串传递来完成的。 现在不用担心活动类型,稍后我们会在哪里声明它。

接下来,我们确保我们的活动符合搜索条件和预测条件。 这将有助于Siri了解有关我们活动的更多信息。 我们使用title属性设置快捷方式的标题proposalInvocationPhrase用于使用户了解应该为Siri语音快捷方式设置的短语。

如果要将活动中的其他信息传递给iOS应用,则可以将该信息放在userInfo属性中。 在Xcode 10 Beta 4中,userInfo属性不起作用,并且始终返回空字典

最后,您可以将视图控制器的userActivity属性设置为orderActivity并将其标记为最新。

在运行iOS应用并捐赠活动之前,请确保在info.plist文件中将活动类型设置为属性。 如下所示,添加一个新节点“ NSUserActivityTypes ”。

在iOS 12中使用NSUserActivity构建Siri快捷方式_第3张图片

最后一件事! 我承诺 :)

启动模拟器,然后转到“设置”->“开发人员”并一直向下滚动,并确保同时启用“ 快捷方式测试 ”下的两个选项。

在iOS 12中使用NSUserActivity构建Siri快捷方式_第4张图片

太棒了! 现在,您可以运行您的应用程序并下订单。 下订单后,活动即被捐赠,并且由于启用了开发人员快捷方式测试选项,您将能够在Siri建议下看到您的活动(只需从顶部向下滑动即可显示搜索栏)。

在iOS 12中使用NSUserActivity构建Siri快捷方式_第5张图片

祝贺您制作了第一个Siri快捷方式:)

您也可以将此快捷方式添加为Siri语音快捷方式。 为此,请在模拟器中打开“设置”应用程序,然后选择“ Siri” 。 您应该在“快捷方式”部分下看到您的快捷方式列表。 只需按“ +”按钮即可将您的快捷方式添加为Siri语音快捷方式。 这意味着您的快捷方式将仅通过使用Siri语音启动。

在iOS 12中使用NSUserActivity构建Siri快捷方式_第6张图片

如果您喜欢这篇文章,并且想了解有关Siri快捷方式的更多信息,请查看我3个小时以上的Udemy课程“ 在iOS中掌握Siri快捷方式 ”。 该课程将详细介绍如何使用NSUserActivity,Intent,自定义响应,自定义用户界面等创建Siri快捷方式。

在iOS中掌握Siri快捷方式 乌迪米
使用快捷键 www.udemy.com 简化您经常做的事情

From: https://hackernoon.com/building-siri-shortcuts-using-nsuseractivity-in-ios-12-ff252339e98a

你可能感兴趣的:(移动开发,xcode)