V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Marno
V2EX  ›  macOS

写了个 macOS App :《护眼提醒(EyeSaver)》

  •  
  •   Marno · 2019-11-18 11:22:46 +08:00 · 3366 次点击
    这是一个创建于 1836 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先回答几个可能被问到的问题。

    1.用什么写的?

    使用 Swift 原生写的,不是 React Native。

    2.会开源吗?

    开发不易,本想发到 App Store 卖个几块钱的,但是又觉得苹果的证书有点小贵,所以最后决定还是根据文章末尾的投票结果决定吧。

    如果最后开源了,也真心希望有人能和我一起完善这款应用。不过一般来说,恐怕少有人会提 PR,倒是可能会有人来提需求。哈哈哈~

    一、功能介绍

    回到正题,先大概介绍下,软件名字叫《护眼提醒( EyeSaver )》,顾名思义,是一款定时提醒我们保护视力的应用,目前具备以下功能:

    • 全屏护眼提醒
    • 自定义提醒语
    • 自定义工作时长
    • 自定义休息时长
    • 锁屏自动暂停计时
    • 快捷跳过休息提醒
    • 暂停后自动恢复计时
    • 多屏幕时同时显示提醒
    • 提醒界面直接暂停程序

    软件的核心功能很简单,可以近似的认为就是一个倒计时功能,倒计时结束后给一个强制的全屏提醒。

    二、开发心得

    不过说起来很简单,但由于我也是第一次用 Swift 开发 macOS 的原生应用,所以这个过程中还是查阅了很多资料的。不得不说,macOS 相关的开发资料真是少的可怜,很多问题我至今也没找到解决办法,可能是因为苹果电脑的用户不多吧,所以相关的生态和社区都不是很完善。

    经过这两个月小范围的测试使用,软件相对来说,还是比较稳定了。运行时对于内存的占用也非常低,大概只有 20 多 M (多个屏幕时,占用会高点),而且几乎不会占用 CPU。因为第一次开发,没有什么优化经验,也希望有经验的朋友可以提提建议。

    由于软件的功能比较简单,所以使用方法也非常简单,基本启动以后就不需要再管了。不过为了防止有些功能大家不熟悉,我还是会写一篇使用教程放到公众号里面,以供参考。

    三、下载使用

    下载地址:
    公众号对话框回复(不是文章留言):EyeSaver(大小写都可)

    截图展示:

    使用方式:

    • 下载到电脑后进行解压
    • EyeSaver.app 复制到“应用程序”文件夹
    • 点击打开即可

    支持系统:
    软件理论上支持从 10.12 - 10.14 的 macOS,但是测试中发现有些 Mac 电脑使用时会有异常,比如软件已经运行,但是状态栏不显示图标等,目前还不知道什么问题,后续版本会解决。

    问题解决:
    如果软件提示已损坏,或者点击了没有反应,可以参考下面链接中的方式解决:

    软件后续的更新也会发布到公众号中,如有需要可以持续关注公众号的动态。另外,使用过程有什么 bug 也可以在公众号留言给我,不过一定要描述清楚问题。

    四、留言投票(或打开公众号投票也可)

    你是否希望《护眼提醒(EyeSaver)》开源?

    • 回复 1 :开发不易,我支持上架收费
    • 回复 2 :希望开源,我会贡献代码
    • 回复 3 :都可以,反正好用就行

    保护视力,也许有用,来试试吧!

    9 条回复    2019-12-06 13:50:20 +08:00
    KHfqLAYYS6BKJT3R
        1
    KHfqLAYYS6BKJT3R  
       2019-11-18 11:46:55 +08:00 via Android
    感谢楼主分享,之前 v 友发过类似的,在几个版本之后改成免费和收费两部分

    但是,我现在开机第一件事就把他给关了😭😭
    zhouweiluan
        2
    zhouweiluan  
       2019-11-18 12:19:06 +08:00 via iPhone
    支持,不过目前自带的屏幕使用时间也够用了
    Marno
        3
    Marno  
    OP
       2019-11-18 13:30:44 +08:00
    @cjzlol 可以暂停的,然后设置一个暂停倒计时会自动恢复,就不会显得打扰了
    Marno
        4
    Marno  
    OP
       2019-11-18 13:31:04 +08:00
    @zhouweiluan 那个不能主动提示休息
    doudouwu
        5
    doudouwu  
       2019-11-18 13:58:21 +08:00
    又一个"休息一下"?
    Volekingsg
        6
    Volekingsg  
       2019-11-18 15:01:23 +08:00
    和 Take a break 比较类似?
    Marno
        7
    Marno  
    OP
       2019-11-18 19:51:40 +08:00
    @doudouwu 可以这么理解,因为核心功能都是提示休息,但是在功能和界面上完全不同
    wlemuel
        8
    wlemuel  
       2019-12-04 11:15:12 +08:00
    @Marno 运行时间久了之后查看内存占用会比较高,大概持续运行了 7 天,显示内存占用 200 多 M,怀疑存在内存泄露问题,虽然初始内存确实 20M 左右, 不过就功能上来说是个好软件,会一直用,希望有时间可以排查一下这个问题,如果时间和精力上有限,无法解决这个问题,我愿意协助解决这个问题,Macbook Air 和 Macbook Pro 都存在同样问题,系统版本为 Catalina ( by IOS 程序猿)
    Marno
        9
    Marno  
    OP
       2019-12-06 13:50:20 +08:00
    @wlemuel 我是 10.14 系统,目前没有遇到你说的这个问题,我也是一直开着的,内存占用还是比较稳定的,差不多都是 20M 以内,不过新系统我还没有升级,所以还没测试过 10.15 上的效果。另外,代码已经开源到 github 了,欢迎提 PR。地址: https://github.com/MarnoDev/EyeSaver
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1536 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:05 · PVG 01:05 · LAX 09:05 · JFK 12:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.