打破枷锁:iOS 13 上的「快捷指令」终于迎来「自动化」

谈起「自动化工具」的时候,我们可能会想到 Android 上的 TaskerAutomate,也可能想到 Windows 上 AutoHotkey 以及后起之秀 Quicker,或者是浏览器环境下的 GreasemonkeyTampermonkey。在 iOS 平台上,很多人使用 Workflow,但是相比之下,iOS 的自动化工具由于系统本身限制而充满了拘束感,颇有一种「带着枷锁跳舞」的感觉。

Workflow 本来是个独立应用,售价基本维持在 18 块钱左右。后来苹果官方把它收购了,作为系统应用免费提供,改名称为「Shortcuts」,中文叫「捷径」。在 iOS 12 的时候,它的名字改成了「快捷指令」,显得更加接地气。

伴随着 iOS 系统更新,「快捷指令」也在不断添加系统级别的新能力。自从它可以跟 Siri 联动以来,很多应用开发者都开始适配 Siri,所以「快捷指令」的可玩性也变强了很多。在仍处于公测的 iOS 13 中,「快捷指令」迎来了一个堪称脱胎换骨的新功能,苹果称之为「自动化」。

曾经的软肋

对于 iOS 系统来说,以前的自动化脚本工具有个通病,或者说最大的「枷锁」,就是不能后台运行。任何一个脚本,必须有个手动触发的入口,可能是:

  1. 小组件(以前的 Today Widget)
  2. 桌面图标构成的快捷方式
  3. 从各个应用中唤起的系统分享菜单
  4. 后来加入的 Siri 指令
  5. 直接从「快捷指令」应用中运行

如果把自动化运行的过程想象成一个小精灵在释放魔法帮助我们完成操作,那么在以前,iOS 上的小精灵必须由我们从上述入口手动召唤。

手动触发意味着「自动化脚本」至少在「启动」这个步骤上不够「自动化」,而相比之下,其他操作系统几乎都可以完美地实现自动化。比如借助 Android 的 Automate 或者 Windows 的 Quicker,我可以在复制网址的时候自动把页面收藏起来;借助浏览器的 Tampermonkey,我可以在特定网页载入的时候直接对网页内容作出调整。

其他平台自动化工具最大的优势,在于能够实现「后台保持运行」,也就是说,小精灵会安静地在后台时刻关注着你的操作和手机状态,并在合适的时候释放魔法。启用后台之后,小精灵可以自己关注剪贴板内容,当剪贴板符合我们需要的「网址格式」的时候,小精灵就会把它收藏起来。小精灵也会自己去查看当前运行的网站,进入到指定网站的时候,按要求帮助我们调整网页内容。

而手动触发,是可以不需要后台运行的。在你点击通知中心小组件的时候,或者从桌面上点击图标快捷方式的时候,相当于多了一个「召唤小精灵」的操作,之后,任务才启动,相应的指令才开始执行。这就是以前 iOS 系统的软肋。

但是现在,苹果从系统层面把这个唯一的缺陷补足了。在 iOS 13 的「快捷指令」应用中,我们可以使用「自动化」在后台启动监听。——这才是自动化。

充满想象力的新功能

打开「快捷指令」新增的「自动化」标签,苹果把 iOS 上的自动化分成两个部分:

  1. 个人自动化
  2. 家庭自动化

其中「个人自动化」就是我们要讨论的在 iOS 上充满想象力的新功能。

目前,iOS 13 提供了基于下述四种方面的后台监听:

  1. 时间
  2. 位置
  3. 手机设置
  4. 应用开启

基于时间是最基础的自动化入口,闹钟就是一个基于时间的自动化工具:每到早上八点,就执行「响铃」,并给你一个「起床」的文字提示。现在,你可以基于时间做更多的事情。每天八点,你不仅可以让闹钟响铃,还可以选择播放天气预报。

除了精确指定几点几分,iOS 13 还给我们提供了更多可能性。你可以选择在闹钟响铃后点击「稍后提醒」的时候,或者「停止」的时候触发,也可以选择「日出」或者「日落」的时候触发命令——想想每天跟着太阳一起起床倒也是一件颇有乐趣的事情。

基于位置的入口,使你能够在到达或离开指定位置时触发一个自动化脚本,比如到公司的时候弹出手机上的「上班打卡」应用,老板再也不担心我上班忘打卡了。

手机设置方面,当你切换飞行模式、勿扰模式、省电模式,或者连接了车载 CarPlay、蓝牙设备、Wi-Fi 网络,都可以触发一个自动化任务。

连接指定 Wi-Fi 是一个比 GPS 定位更加准确地确认你到公司的方式。当连上办公室 Wi-Fi 之后,手机自动静音,这样一件多年来在 Android 上易如反掌的事情,现在终于可以在 iPhone 上实现了。

最后 iOS 13 还给我们带来了对应用打开的监听。每当我们打开指定的应用时,就会触发一个自动化脚本,下面我会演示一个小店老板如何帮助客户支付得快一点、更快一点。

不过,目前公测版的入口还算比较有限,比如我比较想要的「剪贴板」监听没有出现,对「来电」和「短信」的监听目前也没有提供。但是这已经是一个很大的进步,至于最终能够对自己的生活提升多少效率,还是依靠我们的想象力,取决于我们如何来设计脚本。

毕竟,自动化脚本其实是一件有关乎设计的事情,而功能无非是来帮助实现这种设计而已。

基于应用启动:支付宝自动出示收款码

假设你是一个小店老板,客户来购买商品后,你需要最快地出示付款码,以避免客户等待。这里,我会介绍如何一打开支付宝就自动跳转收款码页面。

首先创建一个「个人自动化」脚本,选择「打开 App」的入口,并在下一页中选择「支付宝」,这样,入口就编写完了。

执行时,添加两个模块。第一个模块名为「URL」,用于生成一个 URL 类型的数据,内容填写成:

alipay://platformapi/startapp?appId=20000123

这是支付宝收款码的 URL Scheme,通过第二个模块「打开 URL」执行后,就会显示支付宝收款页面。

实际效果,当我点击桌面上的支付宝时,支付宝打开,触发这个自动化脚本,于是自动出示了收款码:

如果觉得这样的自动化脚本影响到你正常使用支付宝,但是又「经常」需要这个脚本触发,那么可以在编辑自动化脚本时打开「运行前询问」开关,这样会在你打开支付宝后弹出一个通知,点击「Run」之后才会打开付款码页面。

基于时间:闹钟延迟后播报时间

有没有过这样的经历,早上闹钟铃响时,默默告诉自己闹钟设得比较早,距离上班还可以多睡一小会儿。可是赖床一时爽,一直赖床一直爽,稍微多按几次「稍后提醒」之后,睡意浓浓的自己往往就记不清到底过去多久了。

这时,我们就需要这样一个脚本,每当我按下闹钟的「稍后提醒」,就给我报出当前时间。为了尽可能让自己清醒,我还设置了播报今天的天气。

这样,每当我延后了闹钟,Siri 的声音就会响起:

天亮啦,现在时间 08:21,今天大部晴朗,最高28°C,最低24°C,下雨概率10

基于手机设置:回家时播放歌曲

当连入家中 Wi-Fi 的时候,就响起阿兰的歌曲《彼岸花开》,想想都是一件美好的事情。

触发的 Wi-Fi 可以同时选择多个,比如现在的路由器往往同时支持 5G 和 2.4G,那么可以同时选上这两个 Wi-Fi 名称,这样,以后回家连上任意一个 Wi-Fi,都会触发对应的自动化脚本了。

目前「快捷指令」支持的音乐应用只有苹果自己家的 Apple Music。你可以选取一首歌、一个歌单,或者一张专辑。选择多个歌曲时,可以设定单曲循环、按顺序播放或者随机播放。

不过,基于 Wi-Fi 的触发入口目前强制「运行前询问」,也就是说,你必须在听到通知提示时,手动点击通知中的「Run」按钮来触发自动化脚本。

基于手机设置:连接任意 Wi-Fi 时提示我

有时候我会有个强迫症,希望自己在连上 Wi-Fi 的时候能够知道现在连的是哪个 Wi-Fi。以前,我可能需要在连上 Wi-Fi 之后手动去设置页面查看,或者通过控制中心长按之后查看。

不过,iOS 13 中「快捷指令」的自动化功能让这个需求变得更容易解决。我们可以监听「Wi-Fi 连接」这一事件,每当连到一个 Wi-Fi 的时候,就自动提示 Wi-Fi 名称,以及局域网 IP 地址。

这个脚本的制作稍微复杂一些。首先选择创建「个人自动化」,触发条件选择「Wi-Fi」,并选择「任何网络」,这样,当我们连入任意网络时,都会触发这个自动化脚本。

动作的编辑一共 4 个模块。第一个模块名字是「获取网络的详细信息」,我用来读取 Wi-Fi 的名称。第二个模块是「获取当前 IP 地址」,在折叠菜单中可以设置获取内网还是外网的地址。第三个是一个「文本」模块,把文本组合起来,送入第四个模块「通知」,显示出来。

相信,iOS 13 正式发布之后,「快捷指令」还会给我们带来更加稳定的体验,和更加丰富的可能性。