You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何移除Mac OS X系统偏好设置中的扩展程序残留?

Hey there! Let's tackle those stubborn leftover Finder and Share extensions in macOS System Preferences—we’ve all been there, right? When you uninstall an app but its extensions still linger, it’s super annoying. Let’s break down how to fully remove them, where their files hide, and how you can avoid this as a developer.

手动彻底移除残留的Finder/Share Extensions

1. 先尝试禁用(如果在系统偏好设置里还能看到)

  • 打开系统偏好设置 > 扩展程序
  • 在左侧栏选择Finder共享分类,找到残留的扩展
  • 取消勾选它,然后重启Finder:右键点击Dock上的Finder图标,选择「退出」,再重新打开Finder。

2. 用终端强制卸载扩展

如果扩展已经不在系统偏好设置里显示,或者禁用无效,就用终端来定位并删除:

  1. /Applications/Utilities/打开终端
  2. 针对Finder扩展,运行以下命令列出所有已安装的扩展(包括残留):
    pluginkit -m -p com.apple.FinderSync
    
    针对Share扩展,把标识符换成com.apple.share-services
    pluginkit -m -p com.apple.share-services
    
  3. 在输出里找到目标扩展的Bundle标识符(格式类似com.your.app.ExtensionName),并记下它的文件路径(通常在~/Library/Application Support/YourApp/Extension.bundle这类位置)
  4. 运行以下命令移除扩展(替换成你的实际路径):
    pluginkit -r /path/to/your/extension.bundle
    

3. 清理残留的配置文件和缓存

扩展除了本体文件,还会留下配置、缓存等数据,检查以下位置并删除和目标扩展/原应用相关的内容:

  • 扩展本体文件
    • 用户级:~/Library/PlugIns/~/Library/Application Support/[原应用名称]/
    • 系统级:/Library/PlugIns//Library/Application Support/[原应用名称]/
  • 偏好设置文件~/Library/Preferences/[扩展Bundle标识符].plist
  • 缓存文件夹~/Library/Caches/[扩展Bundle标识符]/
  • 沙盒容器(如果原应用是沙盒化的):~/Library/Containers/[扩展Bundle标识符]/

删除完成后重启Mac,确保所有残留都被清除。


开发者指南:如何避免卸载时留下扩展残留

如果你正在开发带Finder/Share扩展的应用,可以通过以下方式让用户不用手动清理残留:

  • 添加卸载脚本:在应用的卸载流程中加入清理逻辑,比如:
    • pluginkit -r命令移除扩展
    • 删除上述提到的所有配置、缓存和容器文件
  • 利用Xcode沙盒工具:如果应用使用App Sandbox,可以配置卸载任务自动清理扩展相关数据
  • 补充 fallback 说明:在应用的文档或卸载指引里,告诉用户如果遇到残留,如何手动移除(参考上面的步骤)

内容的提问来源于stack exchange,提问作者Anoop Vaidya

火山引擎 最新活动