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

Quit: 一键退出所有应用程序(macOS App)

  •  1
     
  •   bangbo ·
    zhengbangbo · 2023-07-23 13:04:18 +08:00 · 4218 次点击
    这是一个创建于 490 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有的时候,突然感觉电脑很卡,就会一个个把当前打开的应用关闭。由于时不时都需要这样做一下,就感觉自己很蠢,能不能通过写程序解决。

    刚好最近开始学 Swift 准备尝试开发 Visual Pro 应用。何不先做一个 macOS 应用练手呢,于是睡前构思,第二天花了六个半小时,终于把人生第一个 Apple App 开发出来了。YouTube + GitHub Copilot 真棒!

    它的特点是在菜单栏的 icon 上点一下就能关闭所有应用。

    由于我对于 macOS 里面的 bundleIdentifier 还不太了解,我将所有 com.apple.* 的应用过滤了,怕随便关掉它们会出什么意外。

    还有一个功能,就是设置了白名单,在白名单里面的应用不会被一键关闭。

    如果大家有兴趣可以下载试用,给我提提意见,谢谢!

    另外,实际上我在开发的过程中发现还有三种方式来退出所有应用,也分享给大家:

    • macOS 自带的 Automator(自动操作) 脚本里面有 Quit All Applications 模块
    • macOS 自带的 Shortcuts 里面也有退出应用的模块,其中有一个选项是退出所有应用
    • 第三方应用 Raycast ,里面也有 Quit All Applications 命令
    33 条回复    2023-07-29 22:41:43 +08:00
    phatpooh
        1
    phatpooh  
       2023-07-23 13:21:56 +08:00 via Android
    有点意思
    xwchaoa
        2
    xwchaoa  
       2023-07-23 13:27:02 +08:00
    试了下还不错 就是退出后默认把自己都关了吗哈哈哈
    bangbo
        3
    bangbo  
    OP
       2023-07-23 13:35:03 +08:00
    @xwchaoa 哈哈,可以在白名单里面把自己加进去
    xwchaoa
        4
    xwchaoa  
       2023-07-23 13:39:08 +08:00
    好像有个问题 就是启动 quit 时,会在 dock 栏显示图标,这个可不可以隐藏掉,只在顶部就行了,然后加一个一键清理的快捷键,或者可以编组进行清理,每组一个快捷键也行
    bangbo
        5
    bangbo  
    OP
       2023-07-23 13:48:56 +08:00   ❤️ 1
    @xwchaoa

    1 )隐藏 dock 图标:我之后更新
    2 )快捷键:因为点一下已经够快了,感觉没有必要做个全局快捷键,这个应用也不会那么高频使用吧
    3 )编组清理:这是个什么样的使用场景,可以具体说说吗?我有想过或许可以搞个黑名单,然后分成“关闭这些应用”和“关闭所有应用”两种模式,。
    vitovan
        6
    vitovan  
       2023-07-23 15:17:35 +08:00
    一直用的这个: https://marco.org/apps#quitter
    bangbo
        7
    bangbo  
    OP
       2023-07-23 15:53:22 +08:00
    @vitovan 看起来不错呀,未活跃应用过段时间自动关闭
    yoyoman
        8
    yoyoman  
       2023-07-23 15:55:05 +08:00
    想试试,但安装不上,提示不兼容。是只兼容 M 芯片的吗?
    bangbo
        9
    bangbo  
    OP
       2023-07-23 16:02:39 +08:00
    @yoyoman 我自己就是 Intel 芯片的机器。

    我的系统版本是 Ventura 13.4.1 (c),你的是哪个版本?有什么提示吗?

    我是第一次开发 macOS ,按理说我没用有什么特别先进的 API ,可能是配置了最低系统版本?这个我得去查查看。
    bangbo
        10
    bangbo  
    OP
       2023-07-23 16:03:40 +08:00
    @yoyoman 不方便发图的话,可以给我发邮件 [email protected]
    bangbo
        11
    bangbo  
    OP
       2023-07-23 16:35:40 +08:00
    @xwchaoa @yoyoman

    更新 0.2 版本了

    https://aidbodev.com/quit

    - 隐藏 dock 栏图标
    - 默认添加自己到白名单
    - 调整最低系统版本要求到 11.0
    xwchaoa
        12
    xwchaoa  
       2023-07-23 17:49:54 +08:00
    @bangbo #11 谢谢好用,有用户群吗
    bangbo
        13
    bangbo  
    OP
       2023-07-23 18:21:56 +08:00
    @xwchaoa

    暂时没有,不太爱看群聊。有什么想说的,直接在这回帖就好啦。

    如果你有兴趣,也可以在各个平台关注我。
    akring
        14
    akring  
       2023-07-23 18:37:02 +08:00
    如果在用 Raycast 的话有内建的 Quit all applications
    charlie21
        15
    charlie21  
       2023-07-23 19:05:35 +08:00 via iPhone
    重启一下就可以了
    i386
        16
    i386  
       2023-07-23 19:40:25 +08:00
    @bangbo 可以支持下 10.14 不😂
    mdyh
        17
    mdyh  
       2023-07-23 21:28:12 +08:00
    用上了,谢谢
    bangbo
        18
    bangbo  
    OP
       2023-07-23 21:47:45 +08:00   ❤️ 1
    @i386

    我是用 SwiftUI 写的,最低支持 11.0 。如果要支持 10.14 得用 AppKit 重写。我尝试了一下,没成功。

    你看看使用 Automator 里面的 Quit All Applications 模块吧,或者看看其他方法。
    googlehub
        19
    googlehub  
       2023-07-23 21:51:10 +08:00
    M2 MAX 用上了, 挺不错.
    wweerrgtc
        20
    wweerrgtc  
       2023-07-23 22:50:16 +08:00
    wonderfulcxm
        21
    wonderfulcxm  
       2023-07-23 23:07:18 +08:00 via iPhone
    cool
    locoz
        22
    locoz  
       2023-07-24 00:37:36 +08:00
    还是重启吧,我这时不时就会碰到关闭应用重开都无法解决的卡顿/无法点击/无法输入的问题,重启之后啥事都没有了。
    XshA
        23
    XshA  
       2023-07-24 01:05:37 +08:00 via iPhone
    快捷指令就能做到
    witcat
        24
    witcat  
       2023-07-24 01:20:07 +08:00   ❤️ 3
    option+command+esc
    bangbo
        25
    bangbo  
    OP
       2023-07-24 10:30:56 +08:00
    @witcat

    wow ,这个快捷键不错

    全选后,也能实现关闭所有应用的效果
    yoyoman
        26
    yoyoman  
       2023-07-24 13:37:07 +08:00
    @bangbo 我的是 13.2.1 。0.2 版本可以安装使用了。一点击顶部立马就执行退出所有应用程序。不过提过小建议:
    yoyoman
        27
    yoyoman  
       2023-07-24 13:39:44 +08:00
    @yoyoman (还没说完,不小心直接发布了...)我的是 Ventura13.2.1 ,小建议是:能不能点击顶部图标的时候给弹出一个确认框,让用户再次确认下。
    刚才一点击,刷!都给退出了,着实有点吓人,还以为闪退了。哈哈哈
    NouveauNom
        28
    NouveauNom  
       2023-07-25 18:54:04 +08:00
    注销账户好像也会退出所有,这个是不是有一些进程无法退出去,如果加格白名单,然后把白名单除外的进程都杀掉会不会更好。
    bangbo
        29
    bangbo  
    OP
       2023-07-25 19:18:58 +08:00
    @NouveauNom

    现在就是使用的白名单,白名单以外的不退出。

    另外还有 bundleIdentifier 是 com.apple 开头的也不会退出。
    bangbo
        30
    bangbo  
    OP
       2023-07-25 19:20:12 +08:00
    @yoyoman

    其实只要把白名单设置好,点起来就没那么吓人了。

    之后我再加个确认框吧。
    1044523901
        31
    1044523901  
       2023-07-26 16:15:50 +08:00
    6
    wangyaominde
        32
    wangyaominde  
       2023-07-27 11:06:41 +08:00
    很早之前用 Mac 的自动操作弄过类似的
    bangbo
        33
    bangbo  
    OP
       2023-07-29 22:41:43 +08:00
    @yoyoman 更新版本 1.1 了

    * 添加确认框
    * 将白名单移到一级菜单栏
    * 将应用标识符也显示出来了

    ![]( https://aidbo.fun/apps/quit/screenshot1.jpg)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2766 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:19 · PVG 15:19 · LAX 23:19 · JFK 02:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.