首发于 发掘者
03. 系统应用“快捷指令” - 让Siri更懂你(理论进阶篇)

03. 系统应用“快捷指令” - 让Siri更懂你(理论进阶篇)

摘要

设备的智能化将会是未来的趋势,在苹果的生态中,“快捷指令”(iOS/iPad OS/Watch OS)和“家庭”(iOS/iPad OS/Mac OS)这两款应用提供的解决方案变得越来越成熟。本文将主要对“快捷指令”这个应用进行大致的介绍,我们将讨论 “快捷指令”的工作原理 ,一些 高级的快捷指令 (”从菜单中选取“,“如果”,“重复”),并且通过 一个音乐游戏(听歌猜歌名)的案列 给大家带来更加深刻的印象。

背景

快捷指令(Shortcuts)这款应用的历史可以追溯到14年发布的“Workflow”, 软件允许用户自行在iPhone上创建工作流来完成一系列的任务 。在早期,这些工作流可以被用户自行创建,或者通过Integrated gallery(类似分享论坛)的渠道下载。在17年,这款软件被苹果公司买入,然后被免费提供给大家,但是integrated gallery被关闭。18年软件从Workflow改名为现在的Shortcuts,并开始和 Siri协同 使用。19年,Shortcuts已经变成了一款默认的系统软件被安装在iOS 13上。今年,随着iOS 14的公测,我们发现了这款软件越来越被重视,现在创建的快捷指令又可以被互相分享了,并且有越来越多的操作被加入到快捷指令中。

苹果除了在快捷指令中添加了与Siri的交互,还在快捷指令中添加了 “个人自动化” “家庭自动化” 的功能。 “个人自动化”指的是当你设定的(在手机上的)自动化程序在条件被触发时,在设备(手机)中将会自动进行你设定的操作 (e.g., 起床闹钟关闭后,(手机中)自动播放摇滚音乐)。 “家庭自动化”指的是当你设定的自动化程序在条件被触发时,你设定的智能家居将会进行一系列的操作 (e.g., 太阳升起时,自动打开窗帘)。现在的智能家居都由“家庭”这个应用操作,而“快捷指令”则在“家庭自动化”功能中扮演着中央执行器的角色(见 图1 )。本文主要将介绍“快捷指令”。

图1 在“家庭自动化”功能中“快捷指令”和“家庭”扮演的角色,本文主要介绍的是“快捷指令”

工作原理

如上所述,“快捷指令”是一种可让你使用App完成一个或者多个任务的快捷方式,而每个指令通常 由一个或者多个操作组成 。如 图2 所示,在创建了新的“快捷指令”后我们便可以添加指令的基本要素——操作。

图2 依次往右:1)创建“快捷指令”;2)在创建的“快捷指令”中添加操作;3)选择操作(可以通过搜索寻找)

当我们往指令中添加了一些操作后,我们就得到了这个完成了一系列任务的指令。运行快捷指令时,操作列表中的每一个操作会按照 从上到下 的顺序运行,每个操作在你要完成的任务中都扮演了一个角色,像极了工厂流水线中的每个步骤。 图3 的左边部分给出了一个自动朗读当地天气状况的指令,我们只要执行这个指令,设备就会自动朗读当地天气信息。我们可以发现,第二步和第三步之间有一条 线连接 ,这代表着 第二步的输出将作为第三步的输入 。完成设定这个指令后,我们可以把这个指令 添加到主屏幕 或者 分享给他人 。我们也可以通过 小组 件或者是 Siri 执行这个指令。因为“个人自动化”的工作原理和“快捷指令”的原理相似,所以在此处略过。

运行“快捷指令”时,信息会在操作之间传递并在此过程中发生变化( 数据流 )。此信息或者内容可以是 任何类型的数据 ,如文本、照片、视频、URL、“日历”日程、歌曲、通讯录、“健康”数据、“地图”位置等。操作之间传递的项目数量没有限制,大多数情况下,内容在快捷指令中不可见,因为它是在操作之间处理处理的。快捷指令完成后,内容便会被丢弃,快捷指令会在你 下次运行时进行重制

图3 依次往右 1) 一个快捷指令例子(朗读当地天气); 2)创建好的快捷指令可以放到主屏幕中或者分享给他人,当然也可以通过小组件和Siri执行指令

高级快捷指令

在处理更为复杂的快捷指令后,我们会遇到表现出逻辑关系以及更改快捷指令流的操作(譬如跳过或者分隔某一组操作)。此节将会介绍一些特殊操作类型。

  • 变量

变量 临时存储某些内容,供以后在快捷指令中使用 。包含变量的操作通常不会直接连接到快捷指令中的下一个操作,而是将其输出(包括变量)传递到快捷指令中的后续操作中(见 图4 )。详细 请参阅在“快捷指令”中使用变量

  • “如果”操作

“如果”操作 检查快捷指令中的特定条件并根据符合的条件输出不同的结果 。所以,你的操作可以采取不同的路径,具体取决于快捷指令运行时确定的条件(例子 见图4 )。详细 请参阅在“快捷指令“中使用”如果”操作

图4 依次往右:1)“变量”操作;2)“如果”操作
  • “重复”操作

“重复”操作 创建循环 ,用于多次执行同一个操作。重复循环内的操作按循环中从上到下的顺序运行,然后跳回顶部并按所需次数重复该操作(例子见 图5 )。详细 请参阅在“快捷指令”中使用“重复”操作

  • “选取”操作

“选取”操作 暂停快捷指令并向用户显示选项菜单 (类似平时看到的上方的消息提示)。基于选取的选项,不同操作填充快捷指令的剩余部分,从而产生不同的输出(例子见 图5 )。详细 请参阅在“快捷指令”中使用“从菜单中选取”操作

图5 依次往右:1)“重复”操作;2)“选取”操作

“听歌识曲”案例

更新了iOS 14的public beta 3之后,系统添加了一个比较好玩的快捷指令“Music Quiz”(见 图6 ),即听歌猜歌名游戏。整个指令包括一些基本操作和一些高级操作,本节将通过讲解这个游戏来让大家对“快捷指令”有更深的了解。没有这个“游戏”的朋友可以通过 链接 下载,因为这个指令需要用Apple Music,所以假如没有订阅的话可以当作案例学习。

在游戏中,一共有5轮“听歌识曲”,每轮比赛都会播放一首歌,然后让用户在五个选项中选取听到的歌。在5轮比赛结束后,会公布用户的评分并且提示用户分享或者是再次执行。所以这个 指令的思路 应该如 图6 所示。 具体的程序和注释 请见 图7(a)到(e)

图6 依次往右:1)系统自带的游戏“Music Quiz”;2)游戏对应的快捷指令的框架
图7 (a)
图7 (b)
图7 (c)
图7 (e)

其他

  • 从其他App运行快捷指令

你可以通过“共享”按钮从其他App访问快捷指令,在另一个App中运行快捷指令以处理内容而不离开该App。例如,通过在另一个App中轻点“共享”按钮,你可以激活快捷指令来抓取Safari浏览器中网页上的所有图像以及转换正在查看的文本文件。启用快捷指令以在其他App中运行, 请参考

  • 启用共享的快捷指令

你可以从快捷指令中心之外的来源添加快捷指令,如来自朋友、个人备份以及网站等等。这些共享的快捷指令“不受信任”;若要导入它们,您必须在设置中允许不受信任的快捷指令, 请参考

  • 在网页上运行“JavaScript”操作

几乎所有网页的脚本都使用JavaScript,这一编程语言可在网页浏览器内创建动态效果,包括动画、交互式菜单、视频播放等。浏览网站时,JavaScript 通常不会显示。但是您可以控制网页的 JavaScript,方法是构建包含“在网页上运行 JavaScript”操作的快捷指令,然后在 Safari 浏览器 App 中运行该快捷指令, 请参考

总结与展望

本文介绍了“快捷指令”和“家庭”应用的关系,主要讲解了基本和高级的“快捷指令”操作,通过一个“听歌识曲”的快捷指令给予大家对这个应用更加深刻的印象。“快捷指令”的功能其实很多,在其他中我没有补充完成,如果需要更加详细的功能介绍,请前往官网的manual查看(链接见参考)。

需要在iOS或iPadOS设备上多次轻点的任务十分适合通过“快捷指令”来完成,实用的“自动化”可以显著地减少完成任务所需的轻点次数。虽然苹果从几年前其实已经开始通过Siri的机器学习来学习我们的习惯了,但是人总归是复杂的,目前有些自动化的指令我们还是需要自己来编写。

参考

[1] 苹果官方“快捷指令”手册

[2] 用“快捷指令”创造属于自己的游戏


前往我的专栏获取更多在苹果平台提升效率或者有趣的应用吧。

编辑于 2020-08-27 12:54

文章被以下专栏收录