快捷指令(Shortcuts)有各种各样的启动方式,应用内、共享表单(Share Sheet)、通知中心小组件、Siri、NFC,但我们一直缺少一种全局的启动方式——在任何 app 中都能快速调用,不预设场景。
Siri 可以做到,但我们不是在所有场景下都方便说话,比如安静的办公室里、坐满人的课堂里;通知中心小组件也勉强能做到,但操作步骤过于繁琐——需要下拉通知中心 → 向右划动进入小组件页面 →(可能得上下翻页找到快捷指令组件)→ 激活快捷指令动作 →(最后可能还得手动上划关掉通知中心)。
几天前讨论 Power+ 选题时,Hum 兴奋地发现了一个技巧,借助 iOS 13 辅助功能中的「辅助触控」,也就是我们俗称的「小白点」,可以自己做一个快捷指令的全局启动器——在任何 app 里都能调用,甚至在运行快捷指令的过程中,不需要离开当前 app,一气呵成。
我们先来看一个例子,在 iOS 上流传很广的「微信引用」1 快捷指令动作,借助辅助触控是如何实现的:
用辅助触控启动「微信引用」快捷指令
视频中一共进行了 4 个操作:
- 复制微信对话
- 3D Touch 辅助按钮(小白点)
- 运行预设好的「微信引用」快捷指令
- 直接在微信中以引用格式粘贴对话
整个操作不需要离开微信,也不会看到快捷指令的运行过程。正如 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」这个快捷指令里用了「显示通知」操作(也就是 iOS 的系统通知),来显示计时器的运行时长:
「读 RSS」「读稍后读」「读书」这几个快捷指令,里面的流程其实是一样的,只是对应的 Toggl 描述不同。
这里稍微解释一下,Toggl 的层级是:Workspace(工作区)→ Project(项目)→ Description(描述)。
我们 Power+ 有一个共享的 Workspace,叫「sspai」,用于互相监督在线阅读时间。在这个 Workspace 里面,有「在线阅读(Hum)」「在线阅读(文刀漢三)」「在线阅读(Minja)」「在线阅读(沨沄极客)」等 Project。每个 Project 里,又分成「读 RSS」「读稍后读」「读书」等 Description。
所以,这几个阅读计时器在我这里都属于:sspai(Workspace)→ 在线阅读(文刀漢三)(Project)→ 读 RSS/读稍后读/读书(Description)
根据 Toggl 的 API,我们在创建计时器时,不需要填写 Workspace,只需要填写 Project 和 Description。所以大家在使用的时候,需要稍做调整,首先下载通过 Hum 制作的这个快捷指令来获取 Project ID:
填入邮箱和密码后,直接运行。过程中会让你选择你已经创建过的 Workspace 和 Project。选择 Project 的时候,我们可以看到每个 Project 对应的 ID,把它们都记下来,待会儿会用到。
然后下载「读 RSS」这个快捷指令:
填入邮箱和密码,然后在最后「网络」这个操作中,点击最下面的「3 个项目」。其中,「description」就是 Description,「pid」就是刚才记下来的 Project ID,把它们都对应填上去,就制作完成了。
第二类:直接跳转的快捷指令
这一类动作比较简单,它们的特点是运行后直接跳转到其它 app 里,并且短时间内不需要跳转回原 app。好处仍然是可以全局使用,比较建议放置一些高频的动作,下面再举一些例子:
我们可以放剪贴板相关的动作。和剪贴板相关,也就意味着我们刚执行了「复制」操作,所以界面上不会立即显示共享表单。在这种情况下,与其重新激活共享表单,不如用辅助触控来得更快。比如我们在微信内复制了一个陌生的术语,想对它进行搜索,就可以用「搜索剪贴板」这个快捷指令:
类似的场景,还有打开剪贴板中的 URL,以及用 Google 翻译链接文章:
理论上,只要不涉及输入和选择操作,通知中心小组件里的快捷指令和 Launch Center Pro 里的动作,都能放进辅助触控里。比如进入支付宝扫码界面、跳转 Ulysses 收藏列表、拨打 FaceTime/电话等等。
调教自定义选项
当然,我知道很多 iOS 的 power user 都不屑于用辅助触控,因为这个功能的原意是为残障人士设计的。在没有强制需求的情况下开启,确实会存在遮挡视线、误触等情况。
不过,我们可以通过下面这些自定义选项,尽量降低辅助触控对日常操作的干扰。
透明度
首先是调整小白点的透明度,在辅助触控的设置界面里,可以找到「闲置时不透明度」,并调到最小。这是调整前(40%)和调整后(15%)的区别:
小白点放哪里
然后,我们再来考虑辅助触控的小白点放在哪的问题。iPad 因为屏幕空间比较大,放哪倒是比较无所谓,但 iPhone 寸土寸金的「小」屏幕则要好好考虑。
从避免遮挡视线的角度来考虑,小白点放在四个角落是最好的。但顶上两个角落太难触及,底下两个角落又会挡住 Dock 的图标。从避免误触的角度来考虑,我们也不应该把小白点放在常用手的那一侧。
因为我习惯用右手,所以,就将小白点放在了 Dock 上方的最左边。既不会遮挡中央区域,也不会被常用手误触。
避免误触的另一种思路
通常来说,我们可能会将辅助触控设置为:单点是菜单,双击、长按、三维触控是常用快捷指令动作。
我这里提供另一种思路:由于单点是极易误触的操作,iPhone 屏幕空间本来就小,很容易不小心点到。所以我们可以将「单点」设为「无」,即不触发任何动作。然后将「长按」或「三维触控」设置为激活菜单,这样就能降低误触的几率。
其中,三维触控还可以做到不需要抬起手指,直接移动到快捷指令上执行的操作,类似 Launch Center Pro。
Bug 调试
由于在辅助触控中执行快捷指令还是一个新功能,iOS 13 也刚发布不久,所以偶尔可能会出现运行失败,或者不显示菜单名称的情况。我这里提供一个调试的方法,在「设置 - 辅助功能 - 辅助功能快捷键」中,勾选上「辅助触控」:
然后在控制中心里添加「辅助功能快捷键」,就能快速关闭和开启:
小结
虽然辅助触控目前仍存在一些缺点,比如容易遮挡视线、容易误触,但只要经过调教,便能大幅度地降低它对我们的干扰,减少误操作。
自动化的目的之一,就是为了快速完成操作。辅助触控为我们提供了一个不受限于 app、不受限于场景的全局操作台,让我们更快地执行快捷指令,完成自动化。此外,第三方 app 也并没有办法获得内置到辅助触控中的「特权」,这也是快捷指令作为原生应用的一个巨大的优势。