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