Depuis peu de temps (je (devine * depuis Mac OS X 10.10.2) j'ai pu effacer mes paramètres sous NSUserDefaults
via
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 :-(
macos
default-settings
qwerty_so
la source
la source
Réponses:
Tout d'abord, lors de l'utilisation
defaults
, vous devez laisser.plist
le nom de fichier - il ajoute toujours cela, donc si vous fournissez également, ildefaults
essaiera 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 utiliserdefaults delete <my app>
, soit exécuterkillall cfprefsd
avant de supprimer les préférences (mais après avoir quitté l'application).Notez que si l'application est en bac à sable, ce
defaults
n'est pas la bonne façon de supprimer les préférences - il suffit de tuercfprefsd
, puis d'utiliserrm
pour 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
)la source
Enregistrez-vous
~/Library/Containers/
.Je pense que les applications en bac à sable (App Store) doivent y stocker leurs trucs maintenant.
la source