Od niedawna (chyba (od Mac OS X 10.10.2)) mogłem wyczyścić moje ustawienia za NSUserDefaults
pośrednictwem
defaults delete ~/Library/Preference/<my app>.plist
Ale nagle to nie działa, a moje ustawienia wydają się bardzo trwałe. Wyczyściłem też ręcznie wszystko w „Zapisanych ustawieniach” i wydałem powyższe polecenie dla „Kontenerów” (mimo to piaskownica została wyłączona podczas testowania).
Co jeszcze może pomieścić moje ustawienia? Wydaje mi się, że następny restart może go wyczyścić, ale chcę uniknąć ponownego uruchamiania w przyszłości.
PS Ustawienia przetrwały nawet restart :-(
macos
default-settings
qwerty_so
źródło
źródło
Odpowiedzi:
Po pierwsze, podczas używania
defaults
musisz pominąć.plist
nazwę pliku - zawsze to dodaje, więc jeśli ją podasz,defaults
spróbuje usunąć „<moja aplikacja> .plist.plist”.Po drugie, myślę, że kiedy podajesz pełną ścieżkę do pliku preferencji, omijasz go
cfprefsd
, co (między innymi) buforuje ostatnio używane preferencje. Powinieneś po prostu użyćdefaults delete <my app>
lub uruchomićkillall cfprefsd
przed usunięciem preferencji (ale po zamknięciu aplikacji).Pamiętaj, że jeśli aplikacja jest w trybie piaskownicy,
defaults
to niewłaściwy sposób na usunięcie preferencji - po prostu zabijcfprefsd
, a następnie użyj,rm
aby usunąć cały kontener piaskownicy aplikacji (rm ~/Library/Containers/<my app>
) lub tylko plik preferencji (rm ~/Library/Containers/<my app>/Data/Library/Preferences/<my app>.plist
)źródło
Przyjazd
~/Library/Containers/
.Myślę, że aplikacje w piaskownicy (App Store) muszą teraz przechowywać tam swoje rzeczy.
źródło