すべてのファイル拡張子を表示するようにFinder設定を明示的に設定しましたが、一部のアプリではSpotlightの結果にファイル名拡張子が表示されません。
下記は用例です。
マウンテンライオンを実行しています。
すべてのファイル拡張子を表示するようにFinder設定を明示的に設定しましたが、一部のアプリではSpotlightの結果にファイル名拡張子が表示されません。
下記は用例です。
マウンテンライオンを実行しています。
回答:
基本的に、それはmacOS 10.13 High Sierraで導入されたバグまたはバグ修正です。Spotlightは、Finder設定を尊重してファイル拡張子を表示するようになりました。その設定を無効にすると、Spotlightから.app拡張子が削除されます。
これは非常に古い質問であることは承知していますが、10.13 High Sierraでデジャヴが発生しました。これとは異なりますが、いくつかの類似点があるため、私はそれを検索し、この質問に出くわしました。これが私の答えです。
アプリは、実際には1つのファイルであるかのように表示されるディレクトリです。Appleはこれをバンドルと呼んでいます(Finder がコンテキストメニューの「パッケージの内容を表示」のように「パッケージ」という名前を付けていますが)。アプリケーションはバンドルであるだけでなく、Appleはフレームワーク、プラグイン、アプリケーション拡張、XPIサービス、特定の種類のインストーラーパッケージ、および格納されたデータが複数のファイルで構成されているが1つのファイルとしてのみ表示される場合のデータストレージ形式にもバンドルを使用します(例:画像付きのRTFドキュメントは、RTFDバンドルとして保存できます)。バンドルには常に実際の名前、つまりディスク上のファイルエントリの名前があります。したがって、表示するものが他にない場合、macOSはその名前をどこにでも表示します。
ただし、バンドルには、という名前のinfoファイルがあり、バンドルに関するInfo.plist
すべての種類のメタデータが含まれています。このようなinfoファイルで定義できるのは、表示名です。このような表示名が設定されている場合、Finderはディレクトリの実際の名前ではなく、表示名を表示します。つまり、ディレクトリの名前が変更されていない限り、Finderはディレクトリ名がファイル内のバンドル名と一致しないかどうかを検出できInfo.plist
ます。まあ、私は認めます、それは少し複雑です。例で試してみましょう:
My App.app
Info.plist
、ISMy App
Info.plist
ISMy 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)の名前が一致する場合にのみ表示され、それ以外の場合は(1)が再度表示されます。
ローカライズを置くことによって行われている.strings
名前が付けられたサブディレクトリに束にファイルを<x>.lproj
、<x>
例えば、単に言語コードすることができen.lproj
、英語の場合fr.lproj
も同様、言語+国ことなど、フランス人のためではなく、缶の中en_US.lproj
、en_GB.lproj
、en_AU.lproj
、など。内部にはという名前のInfoPlist.strings
ファイルがあり、このファイルはファイルの基本値を上書きできますInfo.plist
。一致するローカリゼーションが見つからない場合は、ベースローカリゼーションからの値が使用され(名前は開発リージョン)、これもInfo.plist
ファイルによって定義されます。そのようなローカリゼーションが定義されていない場合、からの値Info.plist
が直接使用されます。
(1)と(2)名前が一致する(3)が直接または一致するローカリゼーションから表示される場合、SpotlightはFinderのように動作します。(3)が設定されていない場合、(1)が表示されます。ただし、Finderとは異なり.app
、Finderの設定で要求された場合でも、常に拡張子が追加されるわけではありません。正確な動作パターンを見つけることはできませんでしたが、特定の設定の組み合わせでは、設定した内容に関係なく、Spotlightが拡張機能を表示できなくなります。一部のユーザーにとっては、ファインダーの設定を変更してから実行することによって固定されているsudo mdutil -E /
中でTerminal
(これは再インデックスのすべて)。ただし、すべてのユーザーに対して機能しているわけではなく、選択した言語/地域に関係している可能性があります。
基本的にはバグです。インデックスを再作成すると修正されるか、修正できません。また、動作は一部のmacOSリリースでAppleによって変更され、その後も一定のままでした。つまり、10.13 High Sierraまでです。突然、すべてのアプリの.app
Spotlightに拡張機能が追加されました。これは、Finderの設定と一致しています。一方、10.12 Sierraでは、名前を変更したり、横に複数のコピーを作成したりしない限り、Finderの設定にかかわらず、Spotlightに拡張機能はありませんでした。
これは、拡張機能を非表示にする設定が有効になる前にSpotlightがアプリにインデックスを作成したときに発生するようです。この問題を解決するには、アプリケーションのインデックスを再作成してみてください。
Spotlight設定の[プライバシー]タブに移動し、除外された場所にアプリケーションディレクトリを追加します。これにより、Spotlightインデックスからすべてのアプリケーションが削除されます。次に、除外した場所から再度削除して、Spotlightが正しい設定でアプリケーションのインデックスを再作成するようにします。インデックスを再作成した後、「。app」拡張子をすべての結果から削除する必要があります。