V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
hillerliao
V2EX  ›  分享创造

让 iPhone 在打开微信时随机推送单词

  •  
  •   hillerliao · 4 天前 · 1179 次点击

    我们每天打开微信、抖音等社交媒体的次数可能多得惊人。如果在每次打开这些应用时,都能顺便弹出一个外语单词,那么一年下来,我们或许能积累大量的新词汇,这无疑是一举两得的好方法。

    最初,我考虑开发一个 App 来实现这一功能,它可以获得授权并监控 App 的启动事件。但经过一番研究,我发现 iOS 系统自带的「快捷指令」就能轻松实现这一需求,从而省去了许多繁琐的步骤。

    尽管我一直知道 iOS 的快捷指令功能,但从未真正尝试过制作复杂的指令。毕竟,那些组件看起来有些复杂,让人不知所措。但这次,在 ChatGPT 的帮助下,我顺利地创建了一个快捷指令,实现了最初的想法。

    所需材料

    • iPhone
    • csv 格式的单词表

    对于安卓用户来说,可能也有类似的第三方流程自动化 App ,但大部分可能是收费的,如 Tasker 等。而 iPhone 自带的这款免费 App ,如果不好好利用,实在是太可惜了。

    实现步骤

    大致步骤如下:

    • 在手机本地文件夹内放入单词列表文件;
    • 从本地获取该文件;
    • 从文件中随机选择一行记录;
    • 格式化数据,例如去除 html 标签等;
    • 拼接消息内容;
    • 发送通知提醒。

    关于具体的细节和涉及的组件,这里就不再赘述了。

    至于单词列表,我选择了 csv 格式的文件。你可以从 ankiweb 等网站下载后,再将其转换为 csv 格式。至于 pkg 转 csv 的转换方法,可以利用 github 上的开源项目来快速完成。

    其他方案

    起初,我并未考虑使用本地文件,因为这种方法相对繁琐。当时,我想到的获取数据的办法是请求一个随机展示单词的 RSS 地址。快捷指令中有专门的读取 RSS 数据的组件,这使得操作更为简单易懂。但这种方法的缺点也很明显:首先需要联网;其次,由于数据源网页存在缓存,短时间内两次请求的数据很可能是相同的,这种重复性会减少惊喜感,多次出现后我可能会自动忽略它。

    总结

    随着 iOS18 允许控制中心等自定义功能的推出,快捷指令的价值得到了进一步的提升。

    7 条回复    2024-10-01 13:21:38 +08:00
    Geekgogo
        1
    Geekgogo  
       3 天前
    可以设计不回答出单词的意思不让进 app
    beiguo
        2
    beiguo  
       3 天前
    这个需求好怪,开微信弹单词,根本撑不过 3 天就会放弃,别人加你个微信,聊个天,付个款,一直弹单词可还行。之前有人设计的锁屏背单词是更好的方式。
    SuperDaFu
        3
    SuperDaFu  
       3 天前
    想背单词就好好背。
    想玩就好好玩。

    完全一个伪需求。
    学习还是要认真的。
    whitecosm0s
        4
    whitecosm0s  
       3 天前
    @SuperDaFu 唉,我就是不好好学四六级,就是玩儿,一年下来,我就能积累大量的词汇辣
    NoLifeRyan
        5
    NoLifeRyan  
       3 天前
    四六级,还是得上小红书学,那些女的英语好,总结的笔记也比较靠谱,六级考前看了四五天一遍就过了,分还不低
    Jackyxiaoc
        6
    Jackyxiaoc  
       4 小时 12 分钟前
    @Geekgogo 这个牛逼了。求一个
    Jackyxiaoc
        7
    Jackyxiaoc  
       4 小时 9 分钟前
    楼主能分享一下做好的快捷指令嘛~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2101 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 09:30 · PVG 17:30 · LAX 02:30 · JFK 05:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.