×

基于功能体验ios新增了SiriKit框架

消耗积分:1 | 格式:rar | 大小:0.3 MB | 2017-09-26

分享资料个

  Siri服务

  在iOS10之后,苹果希望Siri能够给用户带来更多的功能体验,基于这个出发点,新增了SiriKit框架。Siri通过语言处理系统对用户发出的对话请求进行解析之后生成一个用来描述对话内容的Intents事件,然后通过SiriKit框架分发给集成框架的应用程序以此来获取应用的内容,比如完成类似通过文字匹配查找应用聊天记录、聊天对象的功能,此外它还支持为用户使用苹果地图时提供应用内置服务等功能。通过官方文档我们可以看到SiriKit框架支持的六类服务分别是:

  语音和视频通话

  发送消息

  收款或者付款

  图片搜索

  管理锻炼

  行程预约

  Siri和Maps通过Intents extension的扩展方式和我们的应用进行交互,其中,类型为INExtension的对象扮演着Intents extension扩展中直接协同Siri对象共同响应用户请求的关键角色。当我们实现了Intents extension扩展并产生了一个Siri请求事件时,一个典型的Intent事件的处理过程中总共有这三个步骤Resolve、Confirm和Handle:

  Resolve阶段。在Siri获取到用户的语音输入之后,生成一个INIntent对象,将语音中的关键信息提取出来并且填充对应的属性。这个对象在稍后会传递给我们设置好的INExtension子类对象进行处理,根据子类遵循的不同服务protocol来选择不同的解决方案

  Confirm阶段。在上一个阶段通过handler(for intent:)返回了处理intent的对象,此阶段会依次调用confirm打头的实例方法来判断Siri填充的信息是否完成。匹配的判断结果包括Exactly one match、Two or more matches以及No match三种情况。这个过程中可以让Siri向用户征求更具体的参数信息

  在confirm方法执行完成之后,Siri进行最后的处理阶段,生成答复对象,并且向此intent对象确认处理结果然后执显示结果给用户看

  基于功能体验ios新增了SiriKit框架

  具体的执行过程请参考文档和讲解视频。

  创建Intents Extension

  SiriKit通过添加App Extension的方式来完成集成,这是一种独立于应用本身运行的代码结构,作为应用的扩展功能,只有在需要的时候系统会唤醒这些Extension代码来执行任务,然后在执行完毕之后将其杀死。另一方面,这些Extension在运行过程中的可占用内存是较少的,并且由于调用时机的限制,我们也无法在运行期间做一些坏事

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !