Por que alguns resultados de destaque de aplicativos mostram a extensão ".app", mas não todos?

11

Embora tenha definido explicitamente a preferência do Finder para exibir todas as extensões de arquivo, continuo descobrindo que alguns aplicativos não mostram a extensão do nome do arquivo no resultado do Spotlight.

nome do arquivo exts

Aqui estão alguns exemplos.

Estou executando o Mountain Lion.

skype
palavra
pardal
notas

Vermelho e branco
fonte
Podem ser aplicativos que especificam um nome de pacote localizado? Para que o nome do pacote seja exibido, em oposição ao nome do arquivo?
Thilo
Esta pergunta é muito parecida com esta [1]. [1]: apple.stackexchange.com/questions/33378/…
mcw 13/02/13

Respostas:

9

TL; DR

Basicamente, é uma falha introduzida no macOS 10.13 High Sierra: o Spotlight agora respeita a configuração do Finder para mostrar extensões de arquivo. Desativar essa configuração remove a extensão .app do Spotlight.

Resposta completa

Sei que essa é uma pergunta muito antiga, mas acabei de ter um déjà-vu em 10.13 High Sierra; diferente deste, mas com algumas semelhanças, então eu o procurei e me deparei com esta pergunta e aqui está a minha resposta:

Os aplicativos são de fato diretórios exibidos como se fossem um único arquivo; A Apple chama isso de pacote (apesar do Finder dar o nome de " Pacote " como em " Mostrar conteúdo do pacote " no menu de contexto). Não apenas aplicativos são pacotes configuráveis, a Apple também usa pacotes para estruturas, plug-ins, extensões de aplicativos, serviços XPI, certos tipos de pacotes de instalação, bem como formato de armazenamento de dados, se os dados armazenados consistirem em vários arquivos, mas aparecerão como apenas um arquivo (por exemplo, um documento RTF com fotos pode ser armazenado como um pacote RTFD). Os pacotes sempre têm um nome real, o nome da entrada do arquivo no disco. Portanto, se não houver mais nada para exibir, o macOS exibirá esse nome em todos os lugares.

No entanto, os pacotes configuráveis ​​têm um arquivo de informações, nomeado Info.plist, que contém todos os tipos de metadados sobre o pacote configurável. Uma coisa que esse arquivo de informações pode definir é um Nome para Exibição . Se esse nome de exibição estiver definido, o Finder exibirá o nome de exibição e não o nome real do diretório. Ou seja, a menos que o diretório tenha sido renomeado, o Finder poderá detectar se o nome do diretório não corresponde ao nome do pacote configurável no Info.plistarquivo. Bem, admito, é um pouco complicado. Vamos tentar com um exemplo:

  1. O diretório é nomeado My App.app
  2. O nome do conjunto de Info.plistéMy App
  3. O nome de exibição do bundle nos Info.plistéMy Cool App

Com essa combinação, o Finder mostrará o aplicativo como My Cool App.app(ou apenas My Cool Appse as extensões estiverem ocultas). Enquanto (1) e (2) corresponderem ao nome, (3) será exibido.

Se agora eu renomear o diretório para My Boring App.app, o Finder o exibirá como My Boring App.appse (1) e (2) não corresponderem ao nome, (1) for exibido, como se o usuário quisesse que seu aplicativo fosse renomeado, de claro, o Finder deve exibir o nome escolhido pelo usuário, faz sentido, não é?

Já complicado o suficiente? Sinto muito, mas fica ainda mais complicado agora. Todos os valores Info.plistexibidos para os usuários podem ser localizados ; portanto, se o sistema estiver definido como inglês dos EUA, o nome de exibição do pacote configurável poderá ser My Cool App, mas, se o sistema estiver definido como inglês do Reino Unido, poderá ser My Amazing App. Se existir uma localização para o idioma atual do sistema, o Finder exibirá essa localização, mas novamente, apenas se os nomes de (1) e (2) corresponderem, caso contrário (1) vencerá novamente.

Localizando é feito colocando .stringsarquivos em feixes em sub-diretórios que são nomeados <x>.lproj, onde <x>pode ser apenas um código de idioma, por exemplo, en.lprojpara Inglês, fr.lprojpara Francês, etc. Mas no também pode ser linguagem + país, como en_US.lproj, en_GB.lproj, en_AU.lproje assim por diante. Dentro há um arquivo nomeado InfoPlist.stringse esse arquivo pode substituir os valores base do Info.plistarquivo. Se nenhuma localização correspondente for encontrada, os valores da localização base serão usados ​​(denominada região de desenvolvimento ), que também é definida pelo Info.plistarquivo. Se nenhuma localização for definida, os valores de Info.plistserão usados ​​diretamente.

O Spotlight se comporta como o Finder, se (1) e (2) a correspondência no nome (3) for exibida, diretamente ou a partir da localização correspondente. Se (3) não estiver definido, (1) será exibido. Mas, diferentemente do Finder, ele nem sempre adiciona a .appextensão, mesmo se solicitado nas preferências do Finder. Eu nunca consegui encontrar o padrão de comportamento exato, mas uma certa combinação de configuração impedirá o Spotlight de mostrar a extensão, independentemente do que você configurou. Para alguns usuários é fixo alterando a configuração do Finder e, em seguida, correr sudo mdutil -E /em Terminal(que re-índices tudo). Mas não está funcionando para todos os usuários, o que pode ter algo a ver com o idioma / região escolhido.

Basicamente, é um bug. A reindexação corrige ou não pode ser corrigido. E o comportamento foi alterado pela Apple em algum lançamento do macOS e permaneceu constante a partir de então ... ou seja, até 10.13 High Sierra. De repente, todos os meus aplicativos têm .appextensão no Spotlight, que corresponde à minha configuração do Finder, enquanto na versão 10.12 do Sierra nenhum aplicativo tinha uma extensão no Spotlight, apesar da configuração do Finder, a menos que eu o renomeie ou que tenha várias cópias.

Mecki
fonte
1
Eu tenho o mesmo problema desde a atualização para o macos 10.13 (High Sierra). O controle de qualidade está seriamente ausente há um tempo na Apple :(
Xavier
Eu tenho uma máquina que mostra ".app" e outra que não. O que faz é o que eu migrei de uma máquina que havia sido migrada. O que não o fez foi limpo e reinstalado.
Paul Tomblin
Qual é a sua fonte para a frase 'Para alguns usuários, é corrigido ...'? Caso contrário, uma ótima resposta!
Erik
@ Erik Eu estava navegando no fórum de suporte da Apple e essa foi uma correção sugerida. Alguns usuários responderam "Sim, isso foi corrigido" e aproximadamente a mesma quantidade de usuários respondeu "Tentei isso, mas não houve diferença". Para mim, não funcionou, por isso pertenço à última categoria. Suponho que existam várias causas que levam ao mesmo problema e uma delas pode ser corrigida pela re-indexação, mas as outras causas não serão corrigidas dessa maneira - mas isso é apenas especulação.
Mecki
2

Parece que isso acontece quando o Spotlight indexa os aplicativos antes que a configuração para ocultar extensões estivesse em vigor. Você deve tentar reindexar aplicativos para resolver esse problema.

Vá para a guia Privacidade nas preferências do Spotlight e adicione o diretório de aplicativos aos locais excluídos. Isso deve remover todos os aplicativos do índice Spotlight. Em seguida, remova-o novamente dos locais excluídos para que o Spotlight reindexe os aplicativos com as configurações corretas. Após reindexar, a extensão ".app" deve ser removida de todos os resultados.

Frédéric Dénommé
fonte
Eu estava com um voto negativo porque sua resposta era pura especulação naquele momento, o que é mais adequado para um comentário do que para uma resposta.
Gerry
AH OK. Desculpe, eu não estou familiarizado com o funcionamento deste site ..
Frédéric Dénommé 5/05
Não tem problema, seja bem-vindo ao site.
Gerry
1
Isso não parece funcionar para mim quando altero a configuração para mostrar extensões e reindexar todos os aplicativos.
Gerry
0
  1. Vá para: Localizador> Preferências> Avançado
  2. desmarque a opção "Mostrar todas as extensões de arquivo"

Ele resolverá o problema .app imediatamente

Milos Dimic
fonte
Bem-vindo ao perguntar diferente. Preferimos que as respostas forneçam informações sobre por que elas funcionarão. Consulte Como responder para obter dicas sobre como fornecer respostas de boa qualidade. - Da revisão.
Fsb