我们每天打开微信、抖音等社交媒体的次数可能多得惊人。如果在每次打开这些应用时,都能顺便弹出一个外语单词,那么一年下来,我们或许能积累大量的新词汇,这无疑是一举两得的好方法。
最初,我考虑开发一个 App 来实现这一功能,它可以获得授权并监控 App 的启动事件。但经过一番研究,我发现 iOS 系统自带的「快捷指令」就能轻松实现这一需求,从而省去了许多繁琐的步骤。
尽管我一直知道 iOS 的快捷指令功能,但从未真正尝试过制作复杂的指令。毕竟,那些组件看起来有些复杂,让人不知所措。但这次,在 ChatGPT 的帮助下,我顺利地创建了一个快捷指令,实现了最初的想法。
## 所需材料
- iPhone
- csv 格式的单词表
对于安卓用户来说,可能也有类似的第三方流程自动化 App ,但大部分可能是收费的,如 Tasker 等。而 iPhone 自带的这款免费 App ,如果不好好利用,实在是太可惜了。
## 实现步骤
大致步骤如下:
- 在手机本地文件夹内放入单词列表文件;
- 从本地获取该文件;
- 从文件中随机选择一行记录;
- 格式化数据,例如去除 html 标签等;
- 拼接消息内容;
- 发送通知提醒。
关于具体的细节和涉及的组件,这里就不再赘述了。
至于单词列表,我选择了 csv 格式的文件。你可以从 ankiweb 等网站下载后,再将其转换为 csv 格式。至于 pkg 转 csv 的转换方法,可以利用 github 上的开源项目来快速完成。
## 其他方案
起初,我并未考虑使用本地文件,因为这种方法相对繁琐。当时,我想到的获取数据的办法是请求一个随机展示单词的 RSS 地址。快捷指令中有专门的读取 RSS 数据的组件,这使得操作更为简单易懂。但这种方法的缺点也很明显:首先需要联网;其次,由于数据源网页存在缓存,短时间内两次请求的数据很可能是相同的,这种重复性会减少惊喜感,多次出现后我可能会自动忽略它。
## 总结
随着 iOS18 允许控制中心等自定义功能的推出,快捷指令的价值得到了进一步的提升。 |
|