article_image

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

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

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

Alt text
一键展示健康码

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

工具和软件准备

注:由于 iOS 无法分享个人自动化流程,故我直接展示完整的动作步骤,诸位照着图文画葫芦即可。

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

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

Alt text
带开关的 NFC 贴纸

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

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

Alt text
创建个人自动化

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

自定义自动化操作

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

Alt text
设置自动化操作

以打开支付宝健康码界面为例,你需要编辑方才创建的个人自动化,在“执行”中添加一个打开 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 的原因。

Alt text
新建备忘录的步骤

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

Alt text
一键创建备忘录

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

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

小结

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

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

Banner Credit: Josan Gonzalez


  1. 为保护隐私,本文不会直接展示我的二维码,而仅仅展示模糊处理后的截图,实际运行时当然是正常跳转到真实的二维码界面。
  2. 这话是我从侯世达(Douglas Richard Hofstadter )的著作中读到的,但他应该引用了某位职业设计师的话。
  3. “物理外挂”的说法本身就源自电子游戏圈子,泛指各种外置的辅助工具,通常效果明显而且难以被软件发现。

author_avatar

Lawyer, macOS/iOS Automation Amateur