macOS 应用检查更新命令行工具

2023-04-12 14:26:37 +08:00
 ChengLuffy

说明:

当然所有软件都不必第一时间更新到最新的,当然有更好用工具,当然即使更新到最新版本的软件也总是想退回到旧版本,当然使用这个工具并没有什么必要性...

去年疫情期间想着了解一下很火的 Rust ,那时升级了系统版本导致一直在用 MacUpdater 无法继续使用:他的 2.0 版本重新开始收费,1.0 版本不支持 macOS 13 。所以考虑自己做一个,当然由于自己学习能力有限,我代码写的很差

如果有谁感觉我写得太差能给我发一个更好的 Rust 中文学习指南的话,或者发个 pr 直接教我怎么写就更好了

隐私声明

appcu 不提供应用的版本信息数据库,appcu 仅通过 iTunes API 、应用官方的 Sparkle 链接信息、Homebrew-Cask API 进行查询,这意味着 appcu 的开发者无法获取到您的电脑上安装了哪些应用,同时 appcu 也不会收集您的任何信息

关于检查更新的原理:查询方式说明,经过我踩过的这些坑,我感觉写一个 GUI 的版本也不是不可行,但是 APPKit 我没用过、SwiftUI 不想写,所以只能抛砖引玉,静待大佬

由于检查方式的限制,所以一定有应用无法检查更新,可以通过配置忽略检查这些应用,或者设置 Homebrew-Api 查询别名

使用方式

对所有 /Applications 路径下应用检查更新:

appcu

对特定路径应用检查更新:

appcu /Applications/xx.app /Applications/yy.app

使用 terminal-notifier 发送检查更新结果,点击通知下载更新的安装包或打开商店

appcu -n

使用 terminal-notifier 发送检查更新结果,点击通知打开应用或商店

appcu -no

定时检查更新(我现在的使用方式,一定要是绝对路径,一定要加参数 -n 或者 -no,否则会输出到 mail 命令内)

0 10 * * * /path/to/appcu -n

当然,涉及到 terminal-notifier 的使用方法需要先安装 terminal-notifier 并在配置文件设置路径

其他命令参数和配置文件说明参考项目地址 ChengLuffy/application_check_update

安装

由于项目 0 Stars (竟然是 0 欸!)没有满足发布 Homebrew 的最低要求,而由于自己学习能力差,自己的 HomeBrew 仓库仅编译了 Intel monterey 版本,所以推荐使用脚本安装,脚本由 ChatGPT 编写

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/chengluffy/application_check_update/master/appcu-install.sh)"

由于需要将 appcu 移动到 /usr/local/bin/ 文件夹下,所以需要 sudo 运行,您也可以通过 Releases 页面自行下载解压移动到 $PATH 路径下,注意如果您的机器是 Apple Silicon ,一定要下载 aarch64 版本,如果通过 Rosetta ,appcu 会输出 x86-64 版本的应用更新安装包的下载链接

2411 次点击
所在节点    macOS
23 条回复
ychen997
2023-04-18 07:08:49 +08:00
@vitaminx #19 关于这个问题,brew cu -f -a 再升级的时候会移除.app 再重新下载,有可能会丢失.app 内的数据。我感觉还是交给 app 内部的自动升级比较好,brew cu (不加-f -a )会忽略 auto upgrade 的软件,所以我目前就是用`topgrade --only brew_formula brew_cask vim tldr shell
`,甚至 mas upgrade 都不用( mas 会跟 app store 的版本号不一致),还没有试 op 的工具不过已经给了 star ,不知道 op 的工具是怎么处理这些 auto upgrade 的软件的,不知道是不是像 brew cu -f 一样卸载再重新下载。
ChengLuffy
2023-04-18 08:48:09 +08:00
@ychen997 这个工具仅输出更新版本的下载链接,结合 -n 参数可以点击更新通知直接下载,也可以设置为点击打开应用在应用内自行更新
工具默认对 /Applications/ 文件下所有应用进行扫描,homebrew-cask API 仅作为一种查询最新版本号的方式
F1ySyn
2023-09-19 09:49:16 +08:00
@JimmyLX MacUpdater 负责中文翻译的小透明路过,现在测试版也是需要激活的。有联网验证,不过 3.0 beta 的时候我好多翻译都还没有同步过去,还是用着 2.x 的翻译

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/931919

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX