Suppression des valeurs par défaut de l'utilisateur sous Mac OS X 10.10.3

9

Depuis peu de temps (je (devine * depuis Mac OS X 10.10.2) j'ai pu effacer mes paramètres sous NSUserDefaultsvia

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

Mais tout d'un coup, cela ne fonctionne pas et mes paramètres semblent être super persistants. J'ai également effacé manuellement quoi que ce soit sous "Paramètres enregistrés" et émis la commande ci-dessus pour "Conteneurs" (bien que le sandbox ait été désactivé pour les tests de toute façon).

Quoi d'autre peut contenir mes paramètres? Je suppose que le prochain redémarrage pourrait l'effacer, mais je veux éviter de redémarrer à l'avenir.

PS Les paramètres ont même survécu à un redémarrage :-(

qwerty_so
la source
Ce répertoire dans le chemin doit être "Préférences" au pluriel.
Spiff
@Spiff, oui. C'est une faute de frappe
qwerty_so

Réponses:

17

Tout d'abord, lors de l'utilisation defaults, vous devez laisser .plistle nom de fichier - il ajoute toujours cela, donc si vous fournissez également, il defaultsessaiera de supprimer "<mon application> .plist.plist".

Deuxièmement, je pense que lorsque vous spécifiez le chemin d'accès complet au fichier de préférences, vous contournez cfprefsd, ce qui (entre autres) met en cache les préférences récemment utilisées. Vous devez soit simplement utiliser defaults delete <my app>, soit exécuter killall cfprefsdavant de supprimer les préférences (mais après avoir quitté l'application).

Notez que si l'application est en bac à sable, ce defaultsn'est pas la bonne façon de supprimer les préférences - il suffit de tuer cfprefsd, puis d'utiliser rmpour supprimer le conteneur sandbox de l'application ( rm ~/Library/Containers/<my app>) ou tout simplement son fichier de préférences ( rm ~/Library/Containers/<my app>/Data/Library/Preferences/<my app>.plist)

Gordon Davisson
la source
OMG. J'étais absolument sûr de l'avoir utilisé avec le plist tout le temps. Une fois que je n'ai pas utilisé le suffixe, cela a fonctionné. Merci! De plus, je ne savais pas que je pouvais (devrais) quitter le chemin complet. Cela fonctionne même (ou peut-être mieux) sans le chemin. Merci une deuxième fois :-)
qwerty_so
1

Enregistrez-vous ~/Library/Containers/.

Je pense que les applications en bac à sable (App Store) doivent y stocker leurs trucs maintenant.

Spiff
la source
C'est triste: ce n'est pas dans un bac à sable et je l'ai effacé aussi.
qwerty_so
Merci. cela m'a aidé! Je me demandais pourquoi mes paramètres par défaut étaient restaurés même après avoir supprimé l'application et réinstallé sur MacOS.
Vikram Rao