我们常说当年的 Workflow、如今的快捷指令(Shortcuts)拓展了 iOS 的自动化能力,即使不懂编程,也可以做出很多实用的自动化操作。

但 iOS 的自动化能力一直欠缺一环——主动自动化。什么意思呢?大部分的快捷指令,都是需要我们手动激活的,要么通过快捷指令 app,要么通过共享表单或小组件,要么通过 Siri 唤醒。也就是说,这些自动化总得需要你人为做点什么,快捷指令并不能主动地运行,它的自动化不够彻底。

在 iOS 13.1 中,新版快捷指令加入了「自动化」模块,可以根据日程、行程、设置等状态自动运行。我从测试版发布后第一时间就进行了试用,经过了一段时间的体验,得出的结论是:新版快捷指令虽然没有百分之百实现主动自动化,但我认为它往主动自动化的方向跨进了一大步。1 

我们具体来看看它是怎么做到的。

快捷指令如何实现主动自动化

新版快捷指令的底栏上,新增了「自动化」标签。在这里,我们可以选择一项触发条件,当条件满足时,就自动运行快捷指令。整个创建的过程很像 IFTTT——如果发生了 A,那么就运行 B。

创建快捷指令自动化

当我们创建自动化的时候,可以选择「个人自动化」和「家庭自动化」,两者的区别是:

  1. 使用人群不同:个人自动化运行在 iOS 设备上,只有你本人才能使用;家庭自动化运行在家庭中枢(HomeKit Hub)上,所有人都能使用。

    两种自动化
  2. 触发条件不同:个人自动化有日程、行程、iOS 设备设置等触发条件;家庭自动化有位置、时间、HomeKit 设备等触发条件。

    触发条件不同
  3. 可运行的快捷指令操作不同:个人自动化可以运行所有快捷指令操作;家庭自动化只能运行部分快捷指令操作,无法运行带有交互界面和涉及第三方 app 的操作。

    可运行的快捷指令操作不同

家庭自动化由于需要借助第三方 HomeKit 设备,并且限制比较多,所以本文我们将会把目光集中在个人自动化上。

自动化的使用场景

开头有提到,快捷指令并没有完全实现主动自动化,这是因为时间行程无线局域网蓝牙这几种触发条件,都需要手动确认后才会运行。

剩下的闹钟Apple Watch 体能训练CarPlay 车载飞行模式勿扰模式低电量模式NFC打开 App,才能在后台直接运行。

部分条件可以不确认直接运行

接下来,我会挑其中的几种触发条件,讲解它们各自的使用场景。

时间

按时间来运行快捷指令,可能是受众最广泛的需求。在 iOS 13.1 之前,我们只能借助 Launch Center Pro 或 IFTTT 来实现。你可能有一些固定的 Routine,比如每天早上运行「早安助理」动作,每天睡前用 Day One 写日记,都可以用时间条件来触发。

我自己常用的时间自动化有两个。

一个是每周六晚上提醒我测量体重,并记录到健康 app 里。我虽然买了智能体重秤,但是不想给它们的 app 访问读取睡眠、活动记录等数据2 ,所以只把智能体重秤当成了普通的体重秤在用,测量完再通过快捷指令手动记录:

时间自动化:记录体重

另一个是每周提醒我打开 Google 相册,然后自动备份照片。之前在我的照片备份方案里有写到,Google 相册拥有无限的储存空间3 ,并且有很强的搜索算法作为辅助,因此很适合作为兜底的备份方案。所以每周我都会在 iPhone 上打开 Google 相册 app,让它自动上传 iCloud 里的照片,作为备份。

时间自动化:备份照片

这两者都不是每周必须完成的任务,偶尔一两周忘记记录了也没什么关系,所以没必要放到任务管理 app 里增添焦虑。另外它们都有相应的 app 操作,所以很适合配合快捷指令使用。

交流选题时,Hum 也提到了一个他在用的时间自动化——每天早上提醒领取支付宝积分:

时间自动化:进入支付宝领取积分页面

这里有个技巧是,你得经常用支付宝的领取积分功能,这样才能在快捷指令中搜到对应的操作。从而实现直接进到支付宝的积分领取页面,减少了层层点击的操作。

打开 App

打开 App 可以选择设备上的任意应用,然后运行快捷指令。这项触发条件可以自动运行,无需用户确认。

我最开始看到这项触发条件,立马就想到了用来配合 Toggl 实现时间记录,比如打开 Inoreader 就自动记录阅读 RSS 时间,打开微博就记录浏览社交网络的时间。但是,我很快就发现这不是一个理想的使用场景,因为快捷指令没有检测「退出 App」的条件,所以当我们退出相应 app 时,计时器并不会自动停止,我们也因此容易忘记关闭计时器。

随后我便寻找「打开 App」的其它使用场景,The Sweet Setup 的这篇文章给了我一些灵感,作者用它来替换 iPhone 自带的相机应用。具体使用方法是:

  1. 触发条件选择「打开 App」,并设置为系统相机 app;
  2. 运行快捷指令选择「打开 App」,设置为其它更专业的第三方相机 app,比如 HalideProCam 等。
  3. 当我们从锁屏界面上,通过左划或重按进入相机界面时,iPhone 会自动跳转到设置好的第三方相机 app,从而实现替换。

根据这个思路,我自己也尝试做一个类似的自动化,将系统的计算器 app 替换成了功能更强大、并且还能自定义布局的 PCalc。因为系统计算器可以通过控制中心来启动,但第三方 app 却没有相同的待遇。替换后,我也能在控制中心快速启动 PCalc。

打开 App 自动化:计算器 app 自动跳转

Apple Watch 体能训练

Apple Watch 体能训练也是一个不需要确认就能自动运行的触发条件,而且它是快捷指令去掉 watchOS app 之后4 ,唯一一个可以通过 Apple Watch 运行快捷指令的方式。

当我们使用 Apple Watch 记录体能训练时,往往是在固定的场所,比如健身房里、体育场里、游泳池里。我们很容易将它联想到了「地点」,又恰好快捷指令的定位功能在国内很不好用,有联网速度慢、位置偏移等问题,所以「Apple Watch 体能训练」其实能当作地点触发来使用。

@张扬 在 Twitter 上发了一个很恰到好处的例子,当他进入健身房进行训练时,家里的扫地机器人就会开始运行,从而了避免家里有人的时候运行扫地机器人的情况。

Apple Watch 体能训练自动化(来源:张扬)

蓝牙

蓝牙,也就是配合蓝牙设备来运行快捷指令。比如车载蓝牙,或者蓝牙耳机。

对于前者,我更建议大家如果有条件的话,可以使用「CarPlay 车载」触发。因为「CarPlay 车载」可以免确认直接运行,而蓝牙则需要手动确认,会多一步。

如果你像我一样,没有 CarPlay,那么就可以用车载蓝牙来实现:

  1. 播放播客/音乐等音频内容;
  2. 搜索接下来的日历事件中是否有地址信息:
    1. 如果有,打开地图 app 并导航至该地址;
    2. 如果没有,则打开地图 app,手动输入地址。

⏬ 相关快捷指令下载:汽车模式

蓝牙自动化:播放音乐,打开地图

蓝牙耳机方面,则可以设置提醒调整耳机音量,避免不小心调到过大音量伤害耳膜。

提醒调整音量

NFC

NFC 是我认为是快捷指令自动化中,最为实用的一项触发条件,我也在 Power+ 里单独写文章介绍过。这里就不过多介绍,大家可以点右边的链接回顾 NFC 配合快捷指令的用法:用 NFC 标签配合快捷指令实现场景自动化

用 NFC 配合快捷指令

快捷指令自动化的不足

在很多场景中,快捷指令自动化都帮上大忙,但目前也有一些做得不足的地方:

  1. 缺少更多的触发条件:比如检测退出了某个 App、iCloud Drive 文件夹状态、连接 USB 设备、剪贴板变化、打开某个具体网页等。
  2. 没有组合条件:大部分触发条件,如果作为单独使用的话,其实实用程度不是特别高。如果能够将多个条件组合起来,我们可以制作出更加个性化的自动化。
  3. 运行不稳定:有时候会出现运行失败、或者不运行的情况,希望快捷指令团队后面能够继续为它优化。

结语

将不同 app 串联到一起的快捷指令,可以帮助我们节省时间。能够主动运行的快捷指令,可以帮助我们避免分散注意力。

在我们操作手机的过程中,可能会受到太多来自外界的干扰,比如通知消息、角标、app 里的内容等等。自动化不仅是为了节省时间,让我们把注意力集中在当前的事情上,不被「自动化任务」本身所干扰,也是自动化的另一层意义。