Siri快捷方式入门
Apple的iOS 12新功能
嗨,我很愿意。 今天,我们正在使用SIRIKIT探索SiriShortcuts
要求:
Swift 4中级知识
知道如何玩MVC
Xcode 10
Apple付费开发者帐户。
物理iPhone会更好(不是必需的)
你不需要火箭科学😉
这是Apple在iOS 12上的新功能,在WWDC 2018主题演讲中宣布,并将在今年秋天推出…因此,最好准备好您的应用程序,以便您的用户尽快使用它们。 我非常确定,他们会赞赏的,因为它确实确实可以使生活变得更轻松-特别是如果您添加了经常使用的快捷方式,并且所有这些操作都可以直接在锁定屏幕,搜索或Siri中完成,表盘。
Siri可以使用诸如位置,一天中的时间和运动类型(例如步行,跑步或驾驶)之类的信号来建议快捷方式,并在锁定屏幕上显示为用户可以点击以运行任务的通知。 不必担心您的隐私-所有收集的数据都存储在设备上,因此不会受到任何损害。
可以从新的Shortcuts应用程序中可用的示例库中添加快捷方式。开发人员可以创建其自定义快捷方式,并将其与应用程序一起提供。 在这个故事中,我将向您展示如何创建简单的自定义快捷方式:—)
让我们开始吧!
我假设您创建了一个空项目
- 添加SiriKit意向定义 文件 。
该文件就像我们正在创建的“心脏”。因此,您可以试用此文件以获得所需的响应。
2.打开somename .intentdefinition,然后添加New Intent,为其命名,然后设置。重要部分是“ 参数和快捷方式类型”
快捷方式类型的 标题/副标题将显示为Siri结果。
新意图—一个应用程序可能包含许多意图和快捷方式。因此,所有意图均在此处创建。
每个意图都有自己的参数,这些参数是用户定义的。我们可以在使用siri快捷方式时传递这些参数。
3. 快捷方式类型的 标题/副标题将显示为Siri结果。
在这里,可以根据需要选择参数的数据类型。可以根据需要将这些参数传递给Title来调用函数。请确保遵循MVC(模式视图控制器)模式。
4.不要忘记设置响应, 响应 模板中的模板将再次显示为Siri结果。
5.创建新的目标选择 意图扩展和意图UI扩展。
Intent Extension与您的Intent定义文件绑定以处理数据
使用Siri快捷方式时,Intent UI Extension将提供一些UI
4.1。表达你的意图。
现在,我们需要让系统知道用户何时在我们的应用程序中执行“应用程序的特定功能”交互。 根据用户执行此操作的频率以及一天中的什么时间等,Siri随后将向用户建议此交互。 但是,用户也可以自己访问这些快捷方式。 在ViewController.
添加捐赠代码ViewController.
5.在您的应用程序目标中创建IntentHandler类, NSObject和IntentHandling的子类也在Inspectors中选择Target Intent和IntentUI 。
6.更新Intent / IntentHandler.swift文件以处理您的Intent 您的IntentHandler 。此文件将调用一个函数来满足语音命令发出的请求。这里的参数是从intent处理程序中提取的,因此可以在调用函数时作为参数传递
7.创建Model和Manager类 。这将允许您在意图处理程序和应用程序组之间传递数据。 确保在项目中启用了应用程序组
8.在configureView方法中更新IntentUI / IntentViewController.swift,您可以从interact.intent和Responseinteraction.intentResponse获取Intent 。
更新此文件将启用Siri快捷方式上的交互。请确保您具有良好的UI进行交互。
9,所有设置,但最后但并非最不重要
在“确认”部分中,尝试显示订单确认视图,当Siri订购Soup Chef App时,也尝试在代码中显示发票,但两者均未显示在Siri屏幕中。 您可以在Siri响应文本中看到[object Object] ,这意味着Response中不支持Decimal 。
让我们运行应用
如您所见,我们在Siri建议中看到了我们的快捷方式
当我们单击它时,
它计算出牛奶中的卡路里(不准确),并显示在intentUI中
当我单击添加时,
由于我们在意图定义文件中添加了响应框架,因此出现了此消息。
所以差不多了。
因此,现在您可以构建一个独立的Siri快捷方式。 显然,这是一种非常简单的方法,可以很容易地在内部完成。 无论如何,我希望这对您有所帮助,并且您喜欢这次旅行。