Como posso editar as interfaces de usuário dos programas do Mac OS X?

5

Como posso editar as interfaces de usuário dos programas do Mac OS X? Gostaria de ajustar as configurações de alguns programas, como tamanhos de janela.

    
por cwd 26.06.2011 / 22:04

1 resposta

13

Os aplicativos do Mac OS X que são criados usando o Xcode tiveram sua GUI comumente projetada usando o Interface Builder (agora integrado no Xcode 4).

As definições da GUI são armazenadas em arquivos com a extensão .nib e no diretório Contents/Resources do pacote de aplicativos finalizado. Esses arquivos podem ser editados usando o Interface Builder, pois não são compilados da mesma maneira que os arquivos de código fonte.

O exemplo a seguir edita o arquivo de definição About window do Reeder , um leitor comercial RSS / ATOM.

É Reeder.app/Contents/Resources/About.nib . Se abrirmos este arquivo no Interface Builder, ele não será exibido. Por algum tempo, .nib arquivos são distribuídos em um formulário "compilado", talvez porque editá-los era muito difundido.

Para poder editar os arquivos .nib , precisamos "descompilá-los" usando, por exemplo, este programa chamado NibDecompiler . Faça o download e copie o arquivo NibDecompiler.workflow para ~/Library/Services . Agora haverá uma entrada do menu de contexto NibCompiler nos arquivos que podemos usar para tornar editáveis os arquivos .nib .

CrieumacópiadoReeder.app/Contents/Resources/About.nibdeReedernasuaáreadetrabalho,"decompile" do seu menu de contexto e abra-o no Interface Builder ou no Xcode 4.

Agoravocêpodeeditar,porexemplo,orótuloquecontémonomedoprograma.SalveesubstituaoarquivooriginalnopacotedeaplicativosReeder.LançarReederevejaporsimesmo:

Podemos ver claramente no editor que nem tudo é projetado no Interface Builder. Alguns aplicativos podem criar sua UI inteira no código e não precisam de .nib de arquivos. Outros criam apenas as partes mais elaboradas de algumas janelas no código. Só podemos editar usando essa abordagem o que foi projetado nos arquivos .nib .

Isso significa que você pode redimensionar as janelas definidas nesses arquivos:

Mas se o conteúdo deles for criado de forma programática, não se decepcione se os desenvolvedores não desenvolverem suas alterações e, por exemplo, quebra de layout.

A edição de recursos interromperá a assinatura de código, que é usada para a autenticação do OS X Firewall e, AFAIK, Keychain (para permitir acesso após as atualizações do aplicativo automaticamente).

Como alguns aplicativos carregam o .nib e, em seguida, executam algumas alterações adicionais (por exemplo, inserindo o número da versão na caixa de diálogo Sobre), é possível que você realmente quebre algumas funcionalidades ao fazer isso. Você provavelmente não deveria fazer isso, na verdade; -)

    
por 26.06.2011 / 22:06