其实很多人(包括我)都会觉得软件开发者应该对软件卸载流程负起责任,把残余数据清理干净。
但是我有一个还不太成熟的脑洞:能不能让软件开发者自己提供一份机器可读的卸载清单。
macOS 上安装卸载软件的流程倒是很简单,下个 dmg,把 .app 拖进 Applications;不用了,再把 .app 拖进废纸篓。
但对于普通 App 来说,macOS 并没有一个「用户把我拖进废纸篓了」的官方卸载 hook。所以 App 本身没机会在这一刻顺手处理 Application Support、缓存、配置等数据。
部分复杂软件会另外提供 uninstaller,但要求用户卸载每个软件时都去寻找它自己的卸载方式,我感觉也不太现实。
所以我在想,是否可以有一种标准化的 manifest,由开发者声明自己会创建哪些数据。例如:
~/Library/Application Support/foo:用户数据,删除前必须确认
~/Library/Caches/foo:缓存,可以安全删除
~/.config/foo:配置文件,删除前确认
然后包括 Mole 以及各种包管理器之类的工具都可以消费同一份数据。
(其实我不是第一个有这种想法的,Homebrew Cask 的 zap 其实大概接近我想要的了。我更想要的是由软件作者自己维护,而且能够表达「这是什么数据、能不能直接删除」的公开格式
显示更多
🎉 终于终于 Mole 的自测验证 Mac 软件到了 800 个了,继续补充了不少非常难卸载的那种软件,以及基于这个过程补充了不少难找到的清理残留,甚至也给每一个软件的卸载记录详细步骤,方便没有购买 Mole 的小伙伴也可以参考,后续也会计划把这个移植到 Cli 里面去。
显示更多