快捷指令(Shortcuts)有各种各样的启动方式,应用内、共享表单(Share Sheet)、通知中心小组件、Siri、NFC,但我们一直缺少一种全局的启动方式——在任何 app 中都能快速调用,不预设场景。

Siri 可以做到,但我们不是在所有场景下都方便说话,比如安静的办公室里、坐满人的课堂里;通知中心小组件也勉强能做到,但操作步骤过于繁琐——需要下拉通知中心 → 向右划动进入小组件页面 →(可能得上下翻页找到快捷指令组件)→ 激活快捷指令动作 →(最后可能还得手动上划关掉通知中心)。

几天前讨论 Power+ 选题时,Hum 兴奋地发现了一个技巧,借助 iOS 13 辅助功能中的「辅助触控」,也就是我们俗称的「小白点」,可以自己做一个快捷指令的全局启动器——在任何 app 里都能调用,甚至在运行快捷指令的过程中,不需要离开当前 app,一气呵成。

我们先来看一个例子,在 iOS 上流传很广的「微信引用」1 快捷指令动作,借助辅助触控是如何实现的:

用辅助触控启动「微信引用」快捷指令

视频中一共进行了 4 个操作:

  1. 复制微信对话
  2. 3D Touch 辅助按钮(小白点)
  3. 运行预设好的「微信引用」快捷指令
  4. 直接在微信中以引用格式粘贴对话

下载「微信引用」快捷指令

整个操作不需要离开微信,也不会看到快捷指令的运行过程。正如 Hum 的这条推文所说:

这体现了 Shortcuts 的原生优势,也突破了 iOS 自动化的边界。

如何设置

在 iOS 13 的系统设置 app 中,打开「辅助功能 - 触控 - 辅助触控」,就能找到辅助触控功能的设置界面:

打开辅助触控

其中,「自定操作」里的 4 种操作——单点、轻点两下、长按、三维触控,都可以作为快捷指令动作的触发方式,随便点一个进去翻到底部,就能看到快捷指令的动作菜单:

快捷指令动作菜单

为了放进更多的快捷指令动作,我比较建议将其中一项操作(比如「单点」)改为「打开菜单」,然后在「自定顶层菜单」里,可以设置最多 8 个快捷指令动作:

自定顶层菜单

使用思路和场景

既然辅助触控菜单中可以放下 8 个快捷指令,加上其它操作最多可以放 11 个。那么,我们应该放哪些快捷指令动作到这里面呢?我认为比较适合的有这两类动作:

第一类:不离开当前 App 的快捷指令

文章开头提到的例子「微信引用」,就是属于不需要离开当前 app 的快捷指令。所有操作都在后台运行,运行结束后,仍然停留在当前 app。

这里提供两个例子,都是我自己比较常用的,给大家提供参考:

第一个是获取当前日期。我有时候需要在 app 里输入当前的日期,并且会排成 2019-09-25 这样的格式。手动输入往往比较繁琐,需要敲打键盘 10 次,而通过辅助触控里的快捷指令动作,点 4 下就能完成。

下载「获取当前日期」快捷指令

通过辅助触控获取当前日期

第二个是 Toggl 计时器Toggl 是一个时间记录服务,得益于它开放的 API,我们也可以做到在辅助触控里开始和暂停 Toggl 计时器:

在辅助触控里开始和暂停 Toggl 计时器

我在辅助触控里放的 Toggl 快捷指令有:读 RSS、读稍后读、读书、Stop Toggl(暂停计时器)。

其中「Stop Toggl」这个快捷指令你可以下载后,根据提示填入 Toggl 邮箱和密码,然后直接使用:

下载「Stop Toggl」快捷指令

如果你有过一定的快捷指令制作经验,应该就会发现,辅助触控的「不离开」和通知中心小组件的「不离开」很相像,都希望所有操作在当前位置直接执行。但是,辅助触控的限制要比通知中心小组件多很多,比如,不能放「从菜单/列表中选择」的操作,也不能放「显示提醒/结果」的操作。所以,我在「Stop Toggl」这个快捷指令里用了「显示通知」操作(也就是 iOS 的系统通知),来显示计时器的运行时长:

用「显示通知」操作来显示运行时长

「读 RSS」「读稍后读」「读书」这几个快捷指令,里面的流程其实是一样的,只是对应的 Toggl 描述不同。

这里稍微解释一下,Toggl 的层级是:Workspace(工作区)→ Project(项目)→ Description(描述)。

我们 Power+ 有一个共享的 Workspace,叫「sspai」,用于互相监督在线阅读时间。在这个 Workspace 里面,有「在线阅读(Hum)」「在线阅读(文刀漢三)」「在线阅读(Minja)」「在线阅读(沨沄极客)」等 Project。每个 Project 里,又分成「读 RSS」「读稍后读」「读书」等 Description。

我们的共享的部分 Toggl Workspace

所以,这几个阅读计时器在我这里都属于:sspai(Workspace)→ 在线阅读(文刀漢三)(Project)→ 读 RSS/读稍后读/读书(Description)

根据 Toggl 的 API,我们在创建计时器时,不需要填写 Workspace,只需要填写 Project 和 Description。所以大家在使用的时候,需要稍做调整,首先下载通过 Hum 制作的这个快捷指令来获取 Project ID:

下载「⌚️ Toggl」快捷指令

填入邮箱和密码后,直接运行。过程中会让你选择你已经创建过的 Workspace 和 Project。选择 Project 的时候,我们可以看到每个 Project 对应的 ID,把它们都记下来,待会儿会用到。

获取 Project ID

然后下载「读 RSS」这个快捷指令:

下载「读 RSS」快捷指令

填入邮箱和密码,然后在最后「网络」这个操作中,点击最下面的「3 个项目」。其中,「description」就是 Description,「pid」就是刚才记下来的 Project ID,把它们都对应填上去,就制作完成了。

修改「读 RSS」快捷指令

第二类:直接跳转的快捷指令

这一类动作比较简单,它们的特点是运行后直接跳转到其它 app 里,并且短时间内不需要跳转回原 app。好处仍然是可以全局使用,比较建议放置一些高频的动作,下面再举一些例子:

我们可以放剪贴板相关的动作。和剪贴板相关,也就意味着我们刚执行了「复制」操作,所以界面上不会立即显示共享表单。在这种情况下,与其重新激活共享表单,不如用辅助触控来得更快。比如我们在微信内复制了一个陌生的术语,想对它进行搜索,就可以用「搜索剪贴板」这个快捷指令:

下载「搜索剪贴板」快捷指令

类似的场景,还有打开剪贴板中的 URL,以及用 Google 翻译链接文章:

理论上,只要不涉及输入和选择操作,通知中心小组件里的快捷指令和 Launch Center Pro 里的动作,都能放进辅助触控里。比如进入支付宝扫码界面、跳转 Ulysses 收藏列表、拨打 FaceTime/电话等等。

调教自定义选项

当然,我知道很多 iOS 的 power user 都不屑于用辅助触控,因为这个功能的原意是为残障人士设计的。在没有强制需求的情况下开启,确实会存在遮挡视线、误触等情况。

不过,我们可以通过下面这些自定义选项,尽量降低辅助触控对日常操作的干扰。

透明度

首先是调整小白点的透明度,在辅助触控的设置界面里,可以找到「闲置时不透明度」,并调到最小。这是调整前(40%)和调整后(15%)的区别:

调整前(40%)和调整后(15%)

小白点放哪里

然后,我们再来考虑辅助触控的小白点放在哪的问题。iPad 因为屏幕空间比较大,放哪倒是比较无所谓,但 iPhone 寸土寸金的「小」屏幕则要好好考虑。

避免遮挡视线的角度来考虑,小白点放在四个角落是最好的。但顶上两个角落太难触及,底下两个角落又会挡住 Dock 的图标。从避免误触的角度来考虑,我们也不应该把小白点放在常用手的那一侧。

因为我习惯用右手,所以,就将小白点放在了 Dock 上方的最左边。既不会遮挡中央区域,也不会被常用手误触。

避免误触的另一种思路

通常来说,我们可能会将辅助触控设置为:单点是菜单,双击、长按、三维触控是常用快捷指令动作。

我这里提供另一种思路:由于单点是极易误触的操作,iPhone 屏幕空间本来就小,很容易不小心点到。所以我们可以将「单点」设为「无」,即不触发任何动作。然后将「长按」或「三维触控」设置为激活菜单,这样就能降低误触的几率。

避免误触的设置思路

其中,三维触控还可以做到不需要抬起手指,直接移动到快捷指令上执行的操作,类似 Launch Center Pro。

Bug 调试

由于在辅助触控中执行快捷指令还是一个新功能,iOS 13 也刚发布不久,所以偶尔可能会出现运行失败,或者不显示菜单名称的情况。我这里提供一个调试的方法,在「设置 - 辅助功能 - 辅助功能快捷键」中,勾选上「辅助触控」:

设置辅助功能快捷键

然后在控制中心里添加「辅助功能快捷键」,就能快速关闭和开启:

在控制中心里快速关闭和开启「辅助触控」

小结

虽然辅助触控目前仍存在一些缺点,比如容易遮挡视线、容易误触,但只要经过调教,便能大幅度地降低它对我们的干扰,减少误操作。

自动化的目的之一,就是为了快速完成操作。辅助触控为我们提供了一个不受限于 app、不受限于场景的全局操作台,让我们更快地执行快捷指令,完成自动化。此外,第三方 app 也并没有办法获得内置到辅助触控中的「特权」,这也是快捷指令作为原生应用的一个巨大的优势。