如何在 Mac 上卸载 Xnapper
卸载 Xnapper 前先保存编辑中的截图,导出的图片保留在实际保存位置。官方截图说明介绍了 Save,默认保存在桌面,也可以在 Preferences 修改位置。本文覆盖官网 Mac 应用和 Homebrew cask xnapper。
保存图片并退出截图进程
保存还需要的图片,再打开文件确认,只在剪贴板里的图片不算已经保存的备份。结束截图,通过 Xnapper 菜单栏菜单退出,仍在运行时到活动监视器确认,如果设置了登录时启动,在「系统设置 › 通用 › 登录项与扩展」停用它自己的条目。
再把「应用程序」里的 Xnapper.app 移到废纸篓,还要撤销屏幕录制权限时,在「系统设置 › 隐私与安全性」处理 Xnapper 自己的条目,保留其他截图工具及其权限。
检查本地状态和 Share 扩展
保存并打开要用的截图、退出 Xnapper,备份需要的扩展内容后,在 Finder 按 Shift + Command + G,逐个打开下面四项应用数据位置,把决定删除的 Xnapper 专属项目移到废纸篓,保留导出图片和共享更新器目录。容器访问被 macOS 拒绝时先停下检查报错,不能当作已经移除。
| 位置 | 怎么处理 |
|---|---|
| 已保存的截图文件 | 自己导出的图片,不随应用数据移除。 |
| ~/Library/Application Support/Xnapper | 应用支持数据,重置前先核对。 |
| ~/Library/Caches/Xnapper | 应用自己的缓存。 |
| ~/Library/Application Scripts/com.devuap.beautyshotapp.Xnapper-Mac-Share-Extension | Xnapper 自己的 Share 扩展脚本。 |
| ~/Library/Containers/com.devuap.beautyshotapp.Xnapper-Mac-Share-Extension | Share 扩展容器,移除前备份要保留的内容。 |
四项应用数据位置来自当前 cask,残留的 Sparkle 下载容器与应用自己的 Share 扩展是两回事,不删除共享更新器父目录。卸载不会取消订阅或删除账号。
检查结果
pgrep -il Xnapper
ls -d /Applications/Xnapper.app "$HOME/Library/Caches/Xnapper" "$HOME/Library/Containers/com.devuap.beautyshotapp.Xnapper-Mac-Share-Extension"
进程检查没有输出,表示没有名称匹配的进程在运行。打印的路径仍在,找不到文件表示路径不存在,权限错误则无法判断,这些检查不能证明 macOS 权限已经撤销,也不检查自己保存位置里的图片是否删除。
用 Homebrew 安装时
brew uninstall --cask xnapper
普通 cask 卸载移除应用,不执行 zap。自己执行 brew uninstall --cask --zap xnapper 还会处理上面的支持目录、缓存、Share 脚本和 Share 容器,不读取 Mole 的勾选结果,先保存需要的扩展内容。
Mole 会先核对 Homebrew 的整份删除清单,涉及未勾选的数据、共享文件或无法确认的内容时跳过 --zap,已勾选的残留仍由 Mole 清理。
Mole 会列出什么
存在且确认归属时,Xnapper 的应用名缓存,以及自己的 bundle 标识 Share 脚本和容器默认勾选。应用名支持数据在「卸载时一并移除数据和配置」关闭时不勾选,打开后符合条件的审核数据可以预选,单独标识或共享的更新器数据仍遵守已有审核和归属边界。保留导出的截图,需要保留容器内容时取消对应项。
这次检查覆盖了什么
2026 年 9 月 21 日,将官网包里的 Xnapper 1.17.1 拷到「应用程序」后卸载,没有 Homebrew 收据,也没有授权辅助功能。勾选待确认项后,应用、Caches/Xnapper 和自己的 Share 脚本进入了废纸篓,Share 和 Sparkle 下载容器出现权限错误,没有验证已保存图片的恢复、权限撤销或这些容器的完整移除。
