AppCleaner 的替代方案怎么选
让两款卸载工具扫描同一个应用,它们往往会给出两份不同的文件清单。这不一定表示其中一款出了错。每款工具都会选择自己的应用归属规则、自己的保护路径清单,以及使用管理员权限时愿意做到哪里。
最后的差别就来自这三项选择。理解残留归属后,挑卸载工具看的不只是功能,还要看自己愿意接受哪种取舍。
卸载工具究竟怎样判断残留属于谁
卸载器有两种主要办法判断文件属于某款应用,而且它们会朝相反方向出错。
Bundle ID 匹配会沿着应用声明的反向域名字符串查找,例如 com.vendor.app。macOS 自己也会用这种方式命名许多文件,比如 ~/Library/Preferences/com.vendor.app.plist、沙盒容器、Saved Application State 条目、WebKit 与 HTTPStorages 目录。
它很精确,几乎不会误报,却会漏掉所有按应用名或厂商名命名的内容。很多应用把主要数据保存在完全不含 Bundle ID 的 ~/Library/Application Support/VendorName。
显示名称与厂商字符串匹配可以找到这些目录,也会找到只是碰巧共享一个词的内容。名为 Notes、Sync 或 Player 的应用很容易匹配到其他软件路径;按厂商前缀匹配,还会把仍在使用的同厂应用一并纳入。
名称匹配找得更多,也更容易出错。Bundle ID 匹配找得更少,却更准确。两款卸载器扫描结果不同,大多数时候都可以归结为这项选择。
应用架构决定了有多少内容可以产生分歧。沙盒应用通常在 ~/Library/Containers/<bundle id> 下有主要容器,但也可能使用 App Group 容器、Application Scripts、共享缓存、CloudKit 或钥匙串数据。沙盒会限制直接文件访问,不代表应用只占一个目录。
非沙盒应用可以直接写入 Application Support、Caches、Preferences、Logs、Saved Application State、WebKit 存储和 Cookies。分布越宽,判断分歧就越多。
三类内容尤其需要谨慎,工具怎样处理它们,比功能清单更能说明产品取向:
- App Group 容器位于
~/Library/Group Containers,本来就设计为由同一开发团队签名的应用与扩展共享。只因为卸载一个应用就删除,可能会清掉另一个已安装应用仍在使用的数据。名称匹配很容易把它们列为候选项。 - LaunchAgents 与 LaunchDaemons 位于
~/Library/LaunchAgents、/Library/LaunchAgents和/Library/LaunchDaemons。它们是正在注册的任务,不只是文件。未先卸载任务就删除 plist,会留下游离进程或登录错误。系统级路径还需要管理员权限,无权限工具只能跳过。 - 特权辅助程序位于
/Library/PrivilegedHelperTools,是通过系统 API 安装的 root 可执行文件,并与应该先卸载的守护进程配对。
系统扩展和网络扩展是在 macOS 中注册的,不是简单放在磁盘上的文件。删除文件不能可靠停用扩展。macOS 提供停用请求接口,通常只有包含它的应用或厂商卸载器知道扩展标识符、批准状态和正确顺序。
因此,VPN、杀毒软件、虚拟化软件和音频驱动仍然必须使用厂商卸载工具。
分歧在实际中是什么样子
让三款工具扫描某个开发者旗下的非沙盒应用。第一款只列出应用包和少量按 Bundle ID 命名的文件;第二款增加 Application Support 目录和群组容器;第三款还加入启动代理。
三者的内部逻辑都说得通,但中间那款提出了最可能造成伤害的删除。界面底部的总大小不是质量分数,更该看候选项属于什么类别。
可以选择哪些工具
FreeMacSoft AppCleaner
AppCleaner 是免费基准。把应用拖入窗口,它会汇总相关文件,用户检查清单后再删除。产品只做这一件事,对结构简单的应用确实足够。
它自己的页面有一项值得注意。下载页把 3.6.8 标为支持 macOS Mojave 到 Tahoe,发布记录却显示该版本来自 2023 年 7 月。兼容标签比二进制更新得更近,公开记录没有展示较新的匹配逻辑。
可以用它快速移除普通应用残留,但群组容器和特权辅助程序仍要仔细检查,不要把任何扫描器当作最终权威。
Nektony App Cleaner & Uninstaller
Nektony 的 App Cleaner & Uninstaller 是专门卸载工具中覆盖最广的一款。官方页面列出带隐藏残留的应用卸载、已删除应用留下的内容、Safari 扩展与偏好设置面板等扩展、包含登录项和守护进程的启动程序,以及 App Store 与第三方应用更新。
页面说明支持 macOS 11 及以后,并显示近期更新日期,说明仍在积极维护。
授权条款需要仔细阅读。购买页面同时提供订阅与一次购买,并明确说明一次购买包含小版本更新,大版本升级另行收费,也列出一台、两台和五台 Mac 方案。
AppZapper
AppZapper 仍然在线,也仍销售一次购买许可证。官网描述了拖放卸载、浏览已安装应用,以及保存授权备注的位置,版权年份也延续到当前。
但官网没有发布版本号、支持的 macOS 范围或更新记录,下载也是没有版本标识的归档。这不能证明产品已被放弃,却意味着用户无法从厂商信息确认当前构建是否针对正在使用的 macOS。对一款负责删除系统目录文件的工具而言,这不是合适的不确定性。
Noodlesoft Hazel
Hazel 并不是卸载器,而是一款文件自动化规则引擎。它的 App Sweep 会观察废纸篓:手动丢弃应用后,Hazel 会列出发现的支持文件,提供复选框和「全部保留」按钮。
6.1.2 发布于 2026 年 2 月,要求 macOS 13 或更高版本,采用一次购买,并对大版本升级收费。
它自己的手册把边界说得很清楚:应用自带卸载器时应优先使用,因为部分应用需要只有卸载器了解的步骤;App Sweep 最适合通过拖放安装的应用。Hazel 适合在删除发生时立即拦截残留,避免长期积累,不适合审计多年留下的旧残留。
厂商自己的卸载器
Apple 的删除或卸载 Mac 应用说明建议先检查第三方应用是否自带 Uninstall 应用,因为这是移除登录项、扩展和应用保存在其他位置数据的最佳方式。
厂商卸载器最有可能知道怎样按正确顺序停用系统或网络扩展、卸载特权守护进程、释放设备授权并清理安装凭据。通用文件扫描器不了解这些生命周期,也不应假装删除匹配路径与完整停用等价。
Mole「软件」页
Mole 在一个页面处理应用更新、启动项和跨多类残留的卸载。它会标记 iOS 封装应用、排除系统关键应用包,并只在孤立残留足够久后才默认勾选;还会清理程序坞条目,对 /Applications 中由 root 所有的应用包,每次会话只请求一次管理员授权。
发现与确认删除彼此独立,普通移除全部经过系统废纸篓,因此错误判断仍可恢复。它不能取代带驱动、内核或系统扩展、VPN 组件或杀毒功能的厂商卸载器。
授权为一次购买,两台 macOS 14 或更高版本的 Mac 终身更新。扫描始终免费,每项破坏性工具在需要授权前可使用两次。终端用户也可免费使用开源命令行版 mo uninstall。
快速对比
| 选择 | 怎样查找残留 | 卸载之外的范围 | 授权方式 |
|---|---|---|---|
| AppCleaner | 拖入一款应用,匹配相关文件 | 无 | 免费,接受捐赠 |
| App Cleaner & Uninstaller | 扫描已安装应用和旧残留 | 扩展、启动项、更新 | 订阅或一次购买 |
| AppZapper | 拖放与应用浏览器 | 保存授权备注 | 一次购买,无公开版本 |
| Hazel | 删除时观察废纸篓 | 通用文件自动化 | 一次购买,大版本付费升级 |
| 厂商卸载器 | 理解自己的安装清单 | 扩展、守护进程、授权 | 随应用提供 |
| Mole | Bundle ID 加残留类别 | 更新、启动项 | 一次购买,两台 Mac 终身更新 |
卸载时按这个顺序检查
- 先找厂商卸载器。应用安装了驱动、扩展、VPN 组件或杀毒防护时,到这里就停止,直接使用它。
- 应用仍能运行时先退出账号或解除设备授权,并导出要保留的数据。
- 退出应用和可见辅助程序。
- 运行扫描器,阅读类别,不要只看总数。缓存通常可重建;偏好设置和保存状态只有在准备重置应用时才合理;Application Support 可能包含用户本地数据库。
- 除非没有其他同厂应用仍在使用,否则不要处理群组容器。
- 让工具卸载启动任务,不要手动删除 plist。处理
/Library下内容时,管理员提示是预期行为。 - 把全部内容留在废纸篓中,正常使用 Mac 一天,最后再清空。
免费工具比对比表暗示的更经常是正确答案。只有经常卸载应用,而且把清单、更新与启动项放在一起确实节省时间时,才为覆盖面付费。
手动处理可参考怎样卸载应用而不丢失共享数据。安装前也值得先判断自己究竟需不需要清理工具。