Excluindo padrões do usuário no Mac OS X 10.10.3

9

Desde um curto período de tempo (I (acho * desde Mac OS X 10.10.2) eu era capaz de limpar minhas configurações em NSUserDefaultsvia

defaults delete ~/Library/Preference/<my app>.plist

Mas, de repente, ele não funciona e minhas configurações parecem super persistentes. Também limpei manualmente qualquer coisa em "Configurações salvas" e emiti o comando acima para "Contêineres" (embora o sandboxing tenha sido desativado para teste de qualquer maneira).

O que mais pode conter minhas configurações? Acho que a próxima reinicialização pode limpá-la, mas quero evitar a reinicialização no futuro.

PS As configurações ainda sobreviveram a uma reinicialização :-(

qwerty_so
fonte
Esse diretório no caminho deve ser "Preferências" no plural.
Spiff
@ Spiff, sim. É um erro de digitação
qwerty_so

Respostas:

17

Primeiro, ao usar defaults, você deve excluir .plisto nome do arquivo - ele sempre adiciona isso; portanto, se você também fornecer, ele defaultstentará excluir "<meu aplicativo> .plist.plist".

Segundo, acho que quando você especifica o caminho completo para o arquivo de preferências que você ignora cfprefsd, o que (entre outras coisas) armazena em cache as preferências usadas recentemente. Você deve apenas usar defaults delete <my app>ou executar killall cfprefsdantes de excluir as preferências (mas depois de sair do aplicativo).

Observe que, se o aplicativo estiver na área restrita, defaultsé a maneira errada de excluir as preferências - basta matar e cfprefsd, em seguida, use rmpara excluir o contêiner inteiro da área restrita ( rm ~/Library/Containers/<my app>) ou o arquivo de preferências ( rm ~/Library/Containers/<my app>/Data/Library/Preferences/<my app>.plist)

Gordon Davisson
fonte
AMD. Eu tinha certeza absoluta de que o usava com o plist o tempo todo. Uma vez que não usei o sufixo, funcionou. Obrigado! Também não sabia que posso (deveria) deixar o caminho completo. Funciona ainda (ou talvez melhor) sem o caminho. Graças a segunda vez :-)
qwerty_so
1

Check-in ~/Library/Containers/.

Acho que os aplicativos em área restrita (App Store) precisam armazenar suas coisas lá agora.

Spiff
fonte
Tão triste: não é sandbox e eu limpei isso também.
precisa saber é o seguinte
Obrigado. isso me ajudou! Fiquei me perguntando por que meus padrões são restaurados mesmo depois de excluir o aplicativo e reinstalar no MacOS.
precisa