Por qual mecanismo o localizador insere um espaço no nome de um aplicativo?


4

Eu estava pesquisando um problema com o Centro de Notificação e percebi que o Finder mostra o programa como Centro de Notificação , ainda no disco e nos recibos de pacote e na mídia de instalação, o arquivo é na verdade NotificationCenter.app (e o caminho completo é / System / Library / CoreServices / NotificationCenter.app)

Centro de Notificações - com e sem espaço

Entendo como o Finder descarta a extensão .app por padrão, mas onde o sistema sabe para adicionar o espaço no nome desse aplicativo?


Não está no meu Mac agora, então não posso confirmar, mas não estaria listado na lista dentro do pacote?
tubedogg

@tubedogg Eu chequei lá - nenhum espaço em nenhum arquivo de texto que eu instalei neste Mac. O que é estranho é a assinatura de código também assina o nome sem um espaço (tanto no .app e dos Conteúdos finais / porção MacOS, então eu estou supondo que é uma raridade localizador neste momento.)
bmike

Respostas:


8

Isso é tratado pela localização.

Se você verificar o Info.plist, há uma chave LSHasLocalizedDisplayName com um valor true. Isso significa que existem nomes localizados para o aplicativo. As localizações são armazenadas no pacote de aplicativos em Conteúdo / Recursos. Como estou usando o inglês, posso procurar em /System/Library/CoreServices/NotificationCenter.app/Contents/Resources/en.lproj/InfoPlist.strings e ver o nome do aplicativo com o espaço nele.

Os arquivos de strings são na verdade binários. Você pode visualizá-los de maneira legível por humanos com

$ plutil -p /System/Library/CoreServices/NotificationCenter.app/Contents/Resources/en.lproj/InfoPlist.strings
{
  "CFBundleDisplayName" => "Notification Center"
  "CFBundleName" => "Notification Center"
}

Como esse arquivo é armazenado em um formato binário, você pode expandir a forma como "vê" o nome lá se não extraiu apenas seqüências aleatórias do arquivo, como editei acima? Pontos de bônus para uma ferramenta de linha de comando que despeja o diretório de localização correto para um determinado local.
bmike

Hmmmm ... Ainda estou tentando encontrar uma maneira de encontrar o diretório certo, pois os diretórios específicos de dialetos o tornam um pouco mais complicado.
Alan Shutko

Essa é realmente uma pergunta separada, se não dermos um "próximo passo" rápido - aqui está o mecanismo mais profundo "por trás da localização. O fato de estar localizado representa 90% da batalha aqui.
bmike
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.