jasun
V2EX  ›  macOS

用 Swift 原生写了一款把“休息”做成仪式的番茄钟:多屏毛玻璃幕布、0 联网纯离线沙盒、一次买断(文末送码)

  •  
  •   jasun · Sep 24 · 4093 views
    This topic created in 47 days ago, the information mentioned may be changed or developed.

    大家好,我是独立开发者。今天我的 macOS 原生番茄钟应用 「番茄仪式 (Tomato Ritual)」 刚刚正式通过审核并在 Mac App Store 上架了。

    Tomato Ritual 主界面

    为什么想做这个?

    长期面对 Mac 写代码、写文档,颈椎和眼睛经常抗议。市面上的番茄钟很多,但我一直没找到满意的:

    1. 轻飘飘的系统弹窗/响铃:手一抖就顺手点掉了,根本起不到强制让眼睛和大脑休息的作用;
    2. 过于霸道的锁屏软件:直接锁死键盘鼠标,遇到临时紧急处理或开会时极其狼狈;
    3. 沉重的技术栈与订阅陷阱:一个计时器动辄打包几十上百 MB 的 Electron ,还按月收 $5 订阅费,甚至还要后台连服务器打点收集数据。

    因此我做了一个符合我自己严苛要求的原生 Mac 番茄钟:专注时安安静静,休息时有真正的仪式感。

    多屏毛玻璃休息幕布


    核心特性与技术细节

    1. 多屏沉浸毛玻璃休息幕布:
      • 到达休息时间后,所有外接显示器会铺开柔和的磨砂毛玻璃与呼吸光环,带有健康护眼提醒;
      • 柔性防锁死:不是霸道锁机,按 Esc 键或长按跳过随时瞬间收拢,绝不耽误手头紧急任务。
    2. 硬件时钟基准(防休眠与合盖漂移):
      • 计时逻辑锚定硬件绝对截止时间( Deadline-based ),Mac 睡眠、合盖唤醒或系统丢帧后依然毫秒级精确,不依赖脆弱的 tick 累加。
    3. 100% 纯本地离线沙盒( App Sandbox ):
      • 0 联网权限(连网络请求能力都没有)、0 权限索取(不需要屏幕录制、无需辅助功能 Accessibility 、无需全盘访问);
      • 数据完全保留在本地沙盒,绝无任何打点、追踪或用户隐私风险。
    4. macOS 原生小组件与迷你 HUD:
      • 原生桌面 WidgetExtension (小号/中号表盘);
      • 可一键收起为主界面旁的精致小巧 Mini HUD ,悬浮贴边不挡代码视线。
    5. 原生物理合成白噪音:
      • 白噪音、粉红噪音与雨声全部通过物理算法本地实时合成,无需下载外部音频包。

    迷你悬浮窗


    商业模式与购买


    V 友首发福利(赠送兑换码)

    每个版本后台有 100 个兑换码,先抽出一批送给 V2EX 的朋友们尝鲜(打开 Mac App Store -> 点左下角头像 -> 右上角兑换代码):

    • 79NFWRLP6XEA
    • H6MKXYJNALPJ
    • 3PTNPWEE6HEK
    • 7LHPA3R7P3A3
    • PK9EF3EK3XJW
    • XY4WNJ76XPF4
    • N33HJJWW6MW3
    • 4NFKN7PWEL4Y
    • HKNLYK9LRYKA
    • 7FLNFEN9E999

    (码被兑完的朋友也可以在楼下留言,我再手动私信发送)

    欢迎大家体验与拍砖!如果觉得顺手,希望能在 Mac App Store 留下一个真实好评,这对独立开发首版至关重要,非常感谢!

    Supplement 1  ·  Oct 27

    时隔一个月,Tomato Ritual (番茄仪式) 迎来 v1.3.0 重大更新!带来了大家期待的 GitHub 风格 52 周专注热力图与连击打卡、6 款纯算法离线自然氛围音(温暖柴火、山涧溪流、海浪)以及 4 套护眼全屏幕布主题。

    我们在「分享创造」节点发布了新版本的详细特性介绍,并在楼内准备了 20 枚全新的 App Store 终生买断兑换码,欢迎大家移步新帖交流领取: https://www.v2ex.com/t/1252143

    22 replies  •  2026-10-02 11:03:01 +08:00
    wagag
    wagag
    Sep 24
    1
    7FLNFEN9E999 已使用 谢谢,已好评
    xzpjerry731
    2
    H6MKXYJNALPJ 已用,谢谢,马上体验下🙏
    xiaoliang
    xiaoliang
    Sep 24
    3
    4NFKN7PWEL4Y 已使用 谢谢, 体验后评价
    lockheart
    lockheart
    Sep 24 via iPhone
    4
    3PTNPWEE6HEK 已用,感谢
    ffalex
    ffalex
    Sep 24 via Android
    5
    没了,求个码 bmllcmlza3lAZ21haWwuY29t
    cheneyfu
    cheneyfu
    Sep 24
    6
    求码 c2Nyb2xscy50aGVybXMuMXVAaWNsb3VkLmNvbQ==
    8akarei
    8akarei
    Sep 24
    7
    非常需要,求码,感谢大佬
    CalledKingsley
    CalledKingsley
    Sep 24 via iPhone
    8
    3PTNPWEE6HEK
    已用,感谢 op
    Huramkin
    Huramkin
    Sep 24
    9
    求个兑换码,感谢大佬 邮箱 [email protected]
    lrh007
    lrh007
    Sep 24
    10
    求个兑换码,谢谢

    bHJoMDA3QGdtYWlsLmNvbQ==
    EmptyDX
    EmptyDX
    Sep 24
    11
    楼上都是托吗
    BenjaminLin
    12
    求个兑换码,谢谢!邮箱 YmVuamFtaW5saW5AeWVhaC5uZXQ=
    jasun
    jasun
    OP
    Sep 24
    13
    @cheneyfu @ffalex @Huramkin @lrh007 @BenjaminLin
    几位朋友,已经将兑换给你们邮件,如果好用请五星好评,谢谢!
    doubu
    doubu
    Sep 24 via iPhone
    14
    NnNwb3QwN0BnbWFpbC5jb20= 谢谢,之前支持过 V 优买的 8 块钱早就停更了
    Lituby
    Lituby
    Sep 25 via iPhone
    15
    bGl0dXJpYnlAb2l0bG9vay5jb20= 谢谢大佬
    lrh007
    lrh007
    Sep 25
    16
    @jasun 谢谢大佬
    ffalex
    ffalex
    Sep 25 via Android
    17
    @jasun 谢谢 op ,后续好评
    Exsi
    Exsi
    Sep 26 via iPhone
    18
    来个码,大佬
    jasun
    jasun
    OP
    Sep 28
    19
    @doubu 、 @Lituby 已经将兑换码给你邮件,如果好用请五星好评,谢谢!

    @8akarei 、 @EmptyDX 、 @Exsi 如需要兑换码请提供邮箱,我好回复给你
    Exsi
    Exsi
    Sep 28 via iPhone
    20
    8akarei
    8akarei
    Sep 29
    21
    @jasun OGFrYXJlaUBnbWFpbC5jb20=
    jasun
    jasun
    OP
    Oct 2
    22
    @Exsi
    @8akarei
    已经将兑换码给你邮件,如果好用请五星好评,谢谢!

    ---
    @Lituby 你的邮箱可能拼写错误,多次退回,我给你发到同名的 outlook 邮箱了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   929 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 20:53 · PVG 04:53 · LAX 12:53 · JFK 15:53
    ♥ Do have faith in what you're doing.