即使我已明确设置Finder首选项以显示所有文件扩展名,我仍然发现某些应用程序在其Spotlight结果中未显示文件扩展名。
这里有些例子。
我在跑美洲狮。
即使我已明确设置Finder首选项以显示所有文件扩展名,我仍然发现某些应用程序在其Spotlight结果中未显示文件扩展名。
这里有些例子。
我在跑美洲狮。
Answers:
基本上,这是macOS 10.13 High Sierra中引入的错误或错误修复:Spotlight现在尊重Finder设置来显示文件扩展名。禁用该设置将从Spotlight中删除.app扩展名。
我知道这是一个非常老的问题,但是我在高山脉(High Sierra)10.13遇到了déjà-vu;与此不同但有一些相似之处,因此我进行搜索并偶然发现了这个问题,这是我的答案:
实际上,应用程序显示为目录,就好像它们是单个文件一样。Apple将其称为捆绑包(尽管Finder将其命名为“ Package ”,如上下文菜单中的“ Show Package Contents ”所示)。如果应用程序不仅是捆绑软件,苹果公司还将捆绑软件用于框架,插件,应用程序扩展,XPI服务,某种安装程序包以及数据存储格式(如果存储的数据由多个文件组成,但应仅作为一个文件出现(例如,带有图片的RTF文档可以作为RTFD捆绑存储)。捆绑软件始终具有真实名称,即磁盘上文件条目的名称。因此,如果没有其他可显示的内容,macOS会在任何地方显示该名称。
但是,捆绑软件内部有一个名为的信息文件Info.plist
,其中包含有关捆绑软件的所有元数据。此类信息文件可以定义的一件事是显示名称。如果设置了这样的显示名称,则Finder将显示显示名称,而不是目录的真实名称。也就是说,除非在目录已重新命名,这在Finder可以检测,如果目录名称不匹配的包名称中Info.plist
的文件。好吧,我承认,这有点复杂。让我们尝试一个例子:
My App.app
Info.plist
ISMy App
Info.plist
就是My Cool App
通过这种组合,Finder会将应用程序显示为My Cool App.app
(或仅My Cool App
在扩展程序被隐藏时)。只要(1)和(2)名称匹配,就会显示(3)。
如果我现在将目录重命名为My Boring App.app
,则Finder将显示该目录,My Boring App.app
因为只要(1)和(2)名称不匹配,就会显示(1),就好像用户希望重命名他/她的应用程序一样当然,Finder应该显示用户选择的名称,这很有意义,不是吗?
已经足够复杂了吗?好吧,很抱歉,但是现在情况变得更加复杂了。Info.plist
显示给用户的所有值都可以本地化,因此,如果您的系统设置为美国英语,则捆绑包的显示名称可能为My Cool App
,但是如果系统设置为英国英语,则可以为My Amazing App
。如果存在当前系统语言的本地化版本,则Finder将显示该本地化版本,但前提是(1)和(2)的名称匹配,否则会再次显示。
本地化是由放置完成.strings
文件转换成捆到子目录的命名<x>.lproj
,在那里<x>
可以只是一个语言代码,例如en.lproj
英语,fr.lproj
法语等,但也可以是语言+国家一样en_US.lproj
,en_GB.lproj
,en_AU.lproj
,等等。内部是一个名为的文件InfoPlist.strings
,该文件可以覆盖文件的基本值Info.plist
。如果找不到匹配的本地化,则使用来自基本本地化的值(命名为development region),该值也由Info.plist
文件定义。如果未定义此类本地化,则Info.plist
直接使用中的值。
如果直接或从匹配的本地显示名称(3)中的(1)和(2)匹配,则Spotlight的行为类似于Finder。如果未设置(3),则显示(1)。但是,与Finder不同.app
,即使在Finder首选项中要求,它也不总是添加扩展名。我无法找到确切的行为模式,但是无论您进行了什么配置,设置的某种组合都会阻止Spotlight显示扩展。对于某些用户,可以通过更改Finder设置然后sudo mdutil -E /
在Terminal
其中运行(对所有内容重新编制索引)进行修复。但这并不适用于所有用户,这可能与所选语言/地区有关。
基本上是一个错误。重新索引修复了它,或者无法修复它。苹果公司在某些macOS版本上改变了这种行为,此后一直保持不变……直到10.13 High Sierra。突然我所有的应用程序都.app
在Spotlight中具有与我的Finder设置匹配的扩展名,而在10.12 Sierra中,尽管有了Finder设置,除非我已重命名它或除非我有多个副本,否则没有任何应用程序在Spotlight中具有扩展名。
当Spotlight在隐藏扩展名的设置生效之前为应用编制索引时,似乎会发生这种情况。您应该尝试为应用程序重新索引以解决此问题。
转到Spotlight首选项中的“隐私”选项卡,然后将“应用程序”目录添加到排除的位置。这应该从Spotlight索引中删除所有应用程序。然后将其从排除的位置再次删除,以便Spotlight使用正确的设置重新索引应用程序。重新索引后,应从所有结果中删除“ .app”扩展名。
它将立即解决.app问题