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

8

Desde um curto período de tempo (eu acho que desde o Mac OS X 10.10.2) eu consegui limpar minhas configurações em NSUserDefaults via

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

Mas, de repente, não funciona e minhas configurações parecem super persistentes. Também apaguei manualmente tudo em "Configurações salvas" e emiti o comando acima para "Containers" (embora o sandbox foi desativado para teste de qualquer maneira).

O que mais pode manter minhas configurações? Eu acho que a próxima reinicialização pode limpá-lo, mas eu quero evitar a reinicialização no futuro.

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

    
por Thomas Kilian 29.04.2015 / 23:29

2 respostas

15

Primeiro, ao usar defaults , você deve deixar o .plist do nome do arquivo. Ele sempre adiciona isso, então, se você também fornecer defaults , tentará excluir "< meu app > .plist .plist ".

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

Se o app estiver em modo seguro, defaults é o caminho errado para excluir as preferências - basta matar cfprefsd e usar rm para excluir o recipiente de sandbox inteiro do aplicativo ( rm ~/Library/Containers/<my app> ) ou apenas seu arquivo de preferência ( rm ~/Library/Containers/<my app>/Data/Library/Preferences/<my app>.plist )

    
por 30.04.2015 / 06:00
1

Verifique em ~/Library/Containers/ .

Acho que os aplicativos de sandbox (App Store) precisam armazenar suas coisas lá agora.

    
por 30.04.2015 / 02:32