# 一键打开健康码，以及更多：Shortcuts 的物理外挂

> 本文公开全文。

原文：https://utgd.net/article/8374

比起物理按钮，触摸屏上的虚拟按钮终归是蜻蜓点水。而越是在需要快速启动的场景下，实体按钮和触摸屏之间的差距被拉得约大，例如乘车打开付款码、过安检展示健康码或抽出备忘录记录灵感等等，都让人恨不得给它们装上专用按钮。

Android 上的自定义物理按钮并不稀罕，索尼十年前的 Xperia 手机就可以长按电源键启动相机，谓之街拍利器；三星手机更是配备一颗可定制的物理按钮 Bixby……而 iOS 这边却是带着枷锁跳舞——在越狱盛行的年代，涌现出一批自定义按键的插件；差不多同时期，也有人生产过插在音量孔里的物理按键，还有人在手机壳上做文章、搭载按钮……但这些方案都需要配合第三方软件，放到今天基本也是全军覆没——别忘了，现在的 iPhone 既没有耳机孔，也很难越狱或装一些擦边球软件。iOS 设计师的思路，现在已经往锁屏小插件和轻拍手机背面两个方向钻，借用宫崎骏对 iPad 的 批评——尽管我觉得严厉了一些——这些操作均属自慰，难抵鹄的。

本文将介绍一套基于 Shortcuts（快捷指令）和 NFC 的方案，摆脱对于任何第三方软件的依赖，重新找回可自定义的物理按钮。

注意，本文所采用的硬件也适用于 Android 手机，但我没有 Android 设备，而 Android 用户本身也没有那么多桎梏，或许一开始就没必要折腾——总之，下文不会提及 Android 的情况。

## 工具和软件准备

本文所用的方案围绕 Shortcuts 的自动化功能，需从软件和硬件两方面入手。准备好一个 NFC 贴纸和配套的 Shortcuts 自动化流程。

硬件工具方面，需要一颗带开关的 NFC 贴纸。不少人可能知道，Shortcuts 能够根据 NFC 贴纸触发自动化操作；但寻常的思路只是把 NFC 贴纸贴在墙上，用手机靠近它。而有些聪明人（可惜不是我）则采用逆向思维，在 NFC 贴纸上做了一个开关，并把贴纸直接贴在手机上，如此一来，唯独在按下开关时手机才会识别到线圈，相当于随身带了一颗物理按钮。一旦有了这个思路，后续的事情，不过是把常用操作绑定到自动化流程中罢了。

NFC 贴纸非常薄，可将其置于摄像头一旁，既不妨碍无线充电（如有），也方便伸手直接按钮，视觉上还比较平衡。为避嫌，文中不会提及任何具体品牌，何况这些品牌无一不推荐您注册第三方软件，与本文的初衷相悖。您可以用“健康码神器”等关键词找到类似产品，我购买的价格在二十元左右，纯粹为创意买单，因为 NFC 线圈本身是贱如白菜的；而当你读到这篇文章时，价格战可能已经白热化，预计价格会更低一些。

软件方面，我们只需要 Shortcuts，而不依赖任何第三方软件。首先，在 Shorcuts 中创建个人自动化；随后，选择 NFC 类型的触发方式；最后，把贴纸按到手机背面、按下按钮，并开始扫描 NFC。

迨扫描完成，则相当于箭在弦上，触发机制均已设置完毕。只是和物理世界中的逻辑相反，我们现在才开始准备箭矢，即具体的自动化操作。

## 自定义自动化操作

在 Shortcuts 中，具体要执行的操作和触发方式是分离的，这意味着 NFC 归 NFC，只要触发机制没问题，就可以执行任何 Shortcuts 动作，从展示二维码、扫描地点码到弹出备忘录无往不利，当然，也可以运行更加复杂的动作。

以打开支付宝健康码界面为例，你需要编辑方才创建的个人自动化，在“执行”中添加一个打开 URL 步骤，填入微信扫码的 URL Scheme 即可。如果注重隐私，还可以事先创建一个空文本框，再将空文本赋予剪贴板，以在打开软件前清空剪贴板历史记录。若追求开启速度，还可以关闭“运行前询问”的选项。以下列出一些常用 URL Scheme，以供取用。如需其他，可用 关键词 \+ URL Scheme 自助搜索。

- 微信扫一扫：weixin\://scanqrcode

- 支付宝扫一扫：alipayqr\://platformapi/startapp?saId=10000007

- 支付宝付款码：alipay\://platformapi/startapp?appId=20000056

- 支付宝乘车码：alipayqr\://platformapi/startapp?saId=200011235

- 支付宝行程码：alipay\://platformapi/startapp?appId=2021002170600786

- 支付宝小程序：alipays\://platformapi/startapp?appId=【小程序 ID】&page=【页面路径】

带按钮的 NFC 贴纸，本身是疫情之下的产物，方便快速展示健康码或行程码，系与人方便的好设计。正如唐纳德·诺曼所言，这种照顾特殊时期的设计，往往可以转化为惠及更多人的通用设计，除了打开各种码，当然也可以启动笔记、录音、歌曲识别或文件扫描等功能——这正是我避而不谈第三方封闭软件，转而取道 Shortcuts 的原因。

以快速创建新备忘录为例，只需要在编辑个人自动化时添加“创建备忘录”的步骤；如有需要，也可以提前设置好日期变量，这样得到的新笔记就会带上日期元数据，方便日后回顾。

Obsidian 和 Logseq 用户还可以使用更复杂的日记模板，把任何需要的元数据预先设置妥当，灵感来临时，闭着眼睛按下按钮，笔墨纸砚就在指尖。

编辑个人自动化时，还涉及模块化问题。Shortcuts 个人自动化中可以直接添加具体操作，也可以调用一个现有的 Shortcuts 动作。前文展示的扫码或创建备忘录，均属只有寥寥几个步骤的简单操作，倒也无所谓直接写进个人自动化，还是先制作一个 Shortcuts 动作再调用之——但如果你需要触发一系列复杂操作，则最好创建单独的 Shortcuts 动作，不耽误使用快捷键或 Siri 等其他触发方式。

## 小结

可自定义的快速启动方式，在 iOS 一直处于尴尬的境地，Apple 从来没有给过用户充分的权限。过去，相当一部分人用通知中心小部件或桌面小组件来启动 Shortcuts 动作，iOS 16 之后还多了锁屏插件这一选项，但都如隔靴搔痒；至于轻拍手机，自从我当着整个机场的面把手机拍飞出去之后——并且 Shortcuts 依然没有反应——这辈子估计都是怕井绳了。

交互界面毕竟是个界面，界面总是挡在我们和功能之间。无论触摸屏或震动感应如何排列组合，大概都不如物理按钮那样干脆。NFC 按钮固然也是叠床架屋之作，但好在把物理按钮带到 iOS 世界中。而且，最 hack 的部分发生在按钮内部，而不需要特殊软件，也不必魔改系统，只要 Shortcuts 还支持 NFC 触发机制，本文介绍的物理外挂就会继续有效。

---

[前往标准阅读页](https://utgd.net/article/8374?audience=web)
