尽管应用程序 (SeaMonkey) 已被移除,OS X 10.5 Spotlight 类型与特定文件 (.dylib) 的 Finder 类型不同

尽管应用程序 (SeaMonkey) 已被移除,OS X 10.5 Spotlight 类型与特定文件 (.dylib) 的 Finder 类型不同

很久以前,我安装了 SeaMonkey。应用程序的 Info.plist 中有一个错误,错误地将许多文件类型与应用程序关联,特别是 .dylib。这个错误被识别出来,但没有提供解决方案(请参阅Bug 726488 - dylib 共享库在安装时与 SeaMonkey 相关联

    <dict>
<key>CFBundleTypeName</key>
<string>SeaMonkey Shared Library</string>
<key>CFBundleTypeRole</key>
<string>None</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>shlb</string>
</array>
<key>CFBundleTypeExtensions</key>
<array>
<string>shlb</string>
<string>dylib</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>component.icns</string>

这种关联意味着 .dylib 文件将在 Finder 和 Spotlight(以及相关的 SeaMonkey 图标)中显示为“SeaMonkey 共享库”类型。

“卸载”(没有“合适的”卸载程序)SeaMonkey 导致 Finder 将 .dylib 文件正确识别为“Mach-O 动态库”。但是,现在 Spotlight 可以正确识别某些 .dylib 文件,但不能识别其他文件,我想这取决于 Spotlight 索引的位置和文件夹/文件的权限,而不是应用程序注册的范围/过程?

从命令行,是否有办法让 Spotlight 在整个系统范围内仅索引 kMDItemKind =“SeaMonkey Shared Library”的文件,以便文件类型显示为“Mach-O 动态库”?或者是否有一种聪明的方法来“反转”Info.plist 的使用 - 还有其他关联,例如 .plugins

谢谢 idac

OS X 10.5.8

答案1

你可以做两件事:

  1. 使用 RCDefaultApp 控制面板 (http://www.rubicode.com/Software/RCDefaultApp/)取消关联扩展:
    1. 安装面板并打开
    2. 转到扩展选项卡
    3. 搜索dylib扩展,并将终端设置为默认应用程序(这是正常设置;您可以完全删除扩展,因此它将没有关联的图标)
  2. 或者,如果您不想安装 RCDefaultApp,请重建启动服务数据库。对于 Mac OS X 10.5,您必须:
    1. 将以下文件移至废纸篓:
      1. /Library/Caches/com.apple.LaunchServices-0230.csstore
      2. /Library/Caches/com.apple.LaunchServices-023nnn.csstore其中nnn是要重置的用户 ID(例如,501系统中创建的第一个用户)。或者,如果您想重置所有帐户,则为 all similar files。
      3. /Library/Caches/com.apple.LaunchServices-0140.csstore并且/Library/Caches/com.apple.LaunchServices-014nnn.csstore可能存在,如果你从 Tiger 升级的话,也需要将其丢弃。
    2. 重新启动 Mac。如果问题仍然存在:
      1. 删除~/Library/Preferences/com.apple.LaunchServices.plist文件
      2. /Library/Caches重复上述步骤(将重新创建文件)

对于其他 Mac OS X 版本,请尝试此页面中的说明:http://www.thexlab.com/faqs/resetlaunchservices.html

相关内容