在iOS 12中使用NSUserActivity构建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应用程序将负责在您需要时向我们订购热咖啡。 用户界面设计完全取决于您,我们采用了最简单的方法,如下所示。

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

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

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

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

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

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

最后一件事! 我承诺 :)

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

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

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

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值