Como procurar opções de aplicativos no OSX

Como procurar opções de aplicativos no OSX

Ocasionalmente vejo tutoriais que permitem alterar a funcionalidade de alguns aplicativos no OSX usando defaultsa linha de comando. Eu sei que as pessoas encontram essas diretivas de configuração através da varredura do aplicativo. Como isso é feito?

correção: poderia jurar que era option. Meu erro.

Responder1

Você pode usar defaultsnão apenas para alterar esses valores, mas também para listá-los.

defaults read -gmostrar opções "globais", enquanto defaults read com.company.ProgramNamemostra opadrões(ou seja, opções de configuração) para um programa específico. Neste contexto, com.company.ProgramNameé oidentificador de pacotedo programa, por exemplo, com.apple.TextEditou com.culturedcode.Things.Mais sobre isso.


Por exemplo, execute defaults read com.apple.Findere você encontrará uma linha que diz AppleShowAllFiles = FALSEou algo semelhante. Agora seja aventureiro e execute defaults write com.apple.Finder AppleShowAllFiles -boolean TRUEe reinicie o Finder para ver o que acontece.

Para mais informações sobre como usar defaults, entre man defaultspara ver sua documentação. Pode tornar-se bastante complexo e algumas coisas relacionadas com listas e dicionários são praticamente impossíveis de fazer. Quando chegar até aqui, procure /usr/libexec/PlistBuddy- há alguns exemplos de como usá-lo neste site, basta usar a função de pesquisa.


Descubra o identificador de pacote de um programa específico:

Para descobrir para que seu aplicativo usacom.vendor.yourapp, clique com o botão direito no pacote de aplicativos e selecioneMostrar conteúdo do pacote, navegar paraConteúdo, abrirInformações.plistusando um editor de texto, ou melhor, um editor de lista de propriedades comoEditor de lista de propriedadesouXcode 4(ambos fazem parte das ferramentas de desenvolvedor da Apple) e procureCFBundleIdentificadorou semelhante.


Outra ferramenta que você pode usar é strings. Ele exibirá todas as strings (ou seja, sequências de caracteres possivelmente úteis) em um arquivo binário. Observe que isso produztoneladasde falsos positivos, uma vez que as chamadas de função Objective-C também são mostradas, bem como a saída regular que é mostrada na UI.


Segredostambém oferece um banco de dados de configurações ocultas para OS X, classificadas por aplicativo. Eles podem ser alterados usando defaults. Para sua conveniência, você também pode baixar um Painel de Preferências do site, que permite alterá-los nas Preferências do Sistema.

Responder2

#!/bin/sh

# find key names in ~/Library/Preferences/`osascript -e 'id of app "iTunes"'`.plist
defaults read com.apple.iTunes | ruby -e 'puts STDIN.read.scan(/^    \"?([a-zA-Z_.\-]+?)\"? /)' > keys.txt

# extract identifiers from a binary
# (the output is tens of thousands of lines even after grepping)
strings - /Applications/iTunes.app/Contents/MacOS/iTunes | egrep "^[a-zA-Z][a-zA-Z_.\-]{7,}$" | ruby -e 'puts STDIN.read.split("\n").uniq' > strings.txt

# the identifiers for preferences often appear near each other
for x in `cat /0/keys.txt`; do
    grep -C 10 "$x" strings.txt
done | ruby -e 'puts STDIN.read.split("\n").uniq' > strings2.txt

Outro método usando o depurador GNU:arcticmac.home.comcast.net/~arcticmac/tutorials/gdbFindingPrefs.html

informação relacionada