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 NSUserDefaults
via
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 :-(
macos
default-settings
qwerty_so
fonte
fonte
Respostas:
Primeiro, ao usar
defaults
, você deve excluir.plist
o nome do arquivo - ele sempre adiciona isso; portanto, se você também fornecer, eledefaults
tentará 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 usardefaults delete <my app>
ou executarkillall cfprefsd
antes 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 ecfprefsd
, em seguida, userm
para 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
)fonte
Check-in
~/Library/Containers/
.Acho que os aplicativos em área restrita (App Store) precisam armazenar suas coisas lá agora.
fonte