Part1: SiriKit 介绍

在这里放出原文链接地址

Part 1.1 SiriKit 介绍

SiriKit 可以使你的 App 和 App 提供的服务与系统进行结合, 从它的名字就可以看出它和Siri 有着密不可分的联系, 它可以让用户仅仅使用自己的声音就可以来控制你 App 的行为.

SiriKit 由两个 Framework 组成, Intents Framework 可以使系统和你的 App 建立联系. 你可以使用它来定义你需要执行的任务的类型, 并且在特定的时刻来执行这些任务. Intents UI Framework 则允许你执行任务时提供一些自定义的 UI 界面.

SiriKit 的支持被分为了几种领域, 每一种场景都定义了一个或多个可以执行的任务. 为了可以支持 SiriKit, 你的 App 必须属于以下几种领域:

  • 网络电话 (VoIP calling)
  • 消息 (Messaging)
  • 支付 (Payments)
  • 图片 (Photo)
  • 健身 (Workouts)
  • 旅行预订 (Ride booking)
  • CarPlay
  • 餐厅订位 (Restaurant reservations, 该领域需要额外的来自苹果的支持)

每一种场景都定义了一个或多个可以执行的任务, 这些任务我们将它称之为 Intents, 因为它描述的其实就是用户意图和目的, 每一个Intent 都被抽象成为了一个类, 这个类中的属性包含了相关的信息. 例如: 支付( Payments )领域, Intent 包含了支付金额和交易人等的信息. 当用户对Siri 说出了他的请求后, 系统将会用 Siri 通过自然语言解析出来的数据对一个相应的Intent 对象进行数据的填充, 然后将这个 Intent 对象递交给你的 App 扩展. 你的任务则是验证Intent 对象中数据的准确性, 然后执行相关的任务即可.

获取更多 Intent 相关内容, 请查看: Intents Domains
获取更多 Intent Framework 相关内容, 请查看Intents Framework Reference

Part 1.2: Intents 和 Intents UI App Extensions

可以通过添加以下这两种类型的Framework 来对SiriKit 进行支持:

  • Intents Extension: 该扩展是必须添加的. 该扩展会从系统接收相应的 Intent 对象, 并对其相关的任务进行处理.
  • Intents UI Extension: 该扩展是可选的. 该扩展允许你为用户提供自定义的 UI 界面.

系统只有在需要用到它们的时候才会运行它们, 所有支持SiriKit 的 App 都必须有一个Intents Extension. 然而给用户提供一个自定义的 UI 界面, 将会给用户更好的使用体验.

Part 1.3: Siri 和 Maps 是如何处理请求的

SiriMaps 会将用户的请求分解成一些需要的数据, 将这些数据转换为一个 Intent 对象, 然后你来处理Intent 对象关联的相关任务. 就Siri 而言, Siri 通过自然语言解析, 将用户说出来的话解析成为一些可用的数据, 使用这些数据来填充一个 Intent对象. 但是解析出来的数据可能会不够或不准确, 所以Siri 需要你提供的Intent Extension 来对数据进行验证, 让你来确认数据是否完整, 确认数据是否是你想要的, 并且确认你是否明白了用户的意思. 在这个确认阶段, 你可能需要让Siri 帮你从用户那里获取更进一步的信息, 以确保你可以更精准的捕获用户的意图. 在整个确认的过程中, Siri 负责了所有与用户的交互, 你只需要专心于数据的验证就可以了.

Lemon龙说:

如果您在文章中看到了错误 或 误导大家的地方, 请您帮我指出, 我会尽快更改

如果您有什么疑问或者不懂的地方, 请留言给我, 我会尽快回复您

如果您觉得本文对您有所帮助, 您的喜欢是对我最大的鼓励

如果您有好的文章, 可以投稿给我, 让更多的 iOS Developer 在简书这个平台能够更快速的成长


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • 在这里放出原文链接地址 Part 3.1: 分析与操作 Intents Intents Extension 的的入...
    李国安阅读 1,245评论 0 4
  • 随着iOS10.0发布脚步的临近,作为开发者,相信很多人也和我一样,可以提前体验一些新系统的新功能,也更关注新版i...
    MarkCJ阅读 17,460评论 0 18
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,569评论 25 707
  • 1.原文地址2.Additional Framework Changes章节还没来得及翻译,之后会出3.有些不适合...
    subvertWuxu阅读 6,161评论 2 39
  • 落日亏半,余晖黯淡,望穿天涯飞鸟尽。去去何方阿谁知?请君问取绿柳林。 犹记年少,青葱岁月,肆意...
    柳壹壹阅读 300评论 0 0