Удаление пользовательских настроек по умолчанию в Mac OS X 10.10.3

9

В течение короткого времени (я (думаю *, начиная с Mac OS X 10.10.2) я смог очистить свои настройки NSUserDefaultsчерез

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

Но внезапно это не работает, и мои настройки кажутся сверхпостоянными. Я также вручную очистил что-либо в разделе «Сохраненные настройки» и выполнил указанную выше команду «Контейнеры» (хотя песочница была отключена для тестирования в любом случае).

Что еще может держать мои настройки? Я предполагаю, что следующая перезагрузка могла бы очистить это, но я хочу избежать перезагрузки в будущем.

PS Настройки даже пережили перезагрузку :-(

qwerty_so
источник
Этот каталог в пути должен быть «Предпочтения» во множественном числе.
Спифф
@Spiff, да. Это опечатка
qwerty_so

Ответы:

17

Во-первых, при использовании defaultsвы должны исключить .plistиз имени файла - оно всегда добавляет это, поэтому, если вы также defaultsукажете, оно попытается удалить «<мое приложение> .plist.plist».

Во-вторых, я думаю, что когда вы указываете полный путь к файлу настроек, вы обходите его cfprefsd, что (помимо прочего) кэширует недавно использованные настройки. Вы должны либо просто использовать defaults delete <my app>, либо запустить killall cfprefsdперед удалением настроек (но после выхода из приложения).

Обратите внимание, что если приложение помещено в «песочницу», defaultsэто неправильный способ удаления настроек - просто убить cfprefsd, а затем использовать rmдля удаления либо весь контейнер песочницы приложения ( rm ~/Library/Containers/<my app>), либо только его файл настроек ( rm ~/Library/Containers/<my app>/Data/Library/Preferences/<my app>.plist)

Гордон Дэвиссон
источник
О, МОЙ БОГ. Я был абсолютно уверен, что использовал это все время со списком. Когда-то я не использовал суффикс, он работал. Спасибо! Также я не знал, что могу (должен) оставить полный путь. Это работает даже (или, может быть, лучше) без пути. Спасибо еще раз :-)
qwerty_so
1

Заезд ~/Library/Containers/.

Я думаю, что приложения для песочницы (App Store) теперь должны хранить свои вещи там.

Spiff
источник
Как грустно: это не песочница, и я очистил это также.
qwerty_so
Спасибо. это помогло мне! Мне было интересно, почему мои настройки по умолчанию восстанавливаются даже после удаления приложения и переустановки на MacOS.
Викрам Рао