# 用 Shortcuts 做一个不跑步就不罢休的闹钟

> 本文公开全文。

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

冬天容易睡过头，闹钟也无济于事，盖肌肉记忆早已养成，闹钟的意义几乎至于让人毙掉。至于究竟能否起床，端视被子的封印强度如何。

上述情况似乎不妙。对抗被子的阻力，已有各种方案，例如会喷水的实体闹钟，可惜收拾残局浪费的时间可能比睡过头还严重；再如不完成微积分习题就不让你起床的闹钟软件，但相信任何一个经历过刷题式教育的中国读者，都有能力在半睡半醒之间搞定它，就像纽约酒吧里那些打着瞌睡弹钢琴的爵士乐手一样。

管见以为，关键要以一种后果不惨烈的方式把你从被子里拽出来。喷水方案后果不堪设想，而习题方案则无法摆脱被窝禁锢。

强迫你站起来走走如何？我恰好发现，最近两个大版本的 Shortcuts 加入了运动数据分析模块，可判断你是站、是走、还是跑动。而系统闹钟碰巧也居于 Shortcuts 自动化触发机关之列，这很难不让人产生联想：能不能做一个不起床跑动就不停的闹钟？

就系统原生闹钟而言，限制较多，但只要不局限于让闹钟本身响个不停，但凡能接受同步响起的声音提示或震动，将其视作早晨闹钟的一部分，整个机关就打通了。本文方案由两部分组成，一半是 Shortcuts 自动化，以早起闹钟被关闭为触发条件，为顺利运作，还需自动运行并关闭通知；另一半是 Shortcuts 动作，稍后详述。

当我顺手关掉闹钟时，Shortcuts 自动化流程旋即被触发，此时，它会判断我是否在移动（Moving）＊——不一定是跑步，因为你需要跑得够快才能够被识别，为此我将条件放宽到任意活动，当然你可以对自己更狠一些——之后是重点，根据活动状况，有两种操作：

第一种情况，如果我没有动弹，Shortcuts 会以递归形式运行自身，反复发出声音或震动等提示，直到我拿起手机四下活动（递归保持了动作简洁，并且可以应对从立刻抬起手机到闷头抵抗三分钟在内的任何状况）。我更喜欢震动而非提示音，因为即便在惺忪之间狂按静音键或音量键，也无法忽略震动。

另一种情况，如果我有所动作——并且需要持续几秒，否则依然会被识别为静止——Shortcuts 则展示一个弹窗，这是陷阱，因为如果我睡得迷迷糊糊并点击颜色醒目的确认按钮，Shortcuts 又会递归运行，直到我打起精神，点掉左边那颗不起眼的灰色按钮。

＊有一个办法可以 Hack 这一条件，但我不能告诉你，否则你又会形成糟糕的肌肉记忆。

经过这一番折磨之后，我大概率已经起身离开被窝，并多多少少清醒一些，翻身再睡的概率也大幅降低。

或许，环境本身就是最好的提醒，而各种新奇特实体闹钟或闹钟软件，尽其所能不过是推你一把，让你钻出被窝。

---

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