Je voulais supprimer des applications des services de localisation dans les paramètres de sécurité et de confidentialité de MaC OS X 10.8 Mountain Lion. (Les applications étaient toujours répertoriées même si elles étaient désinstallées.) J'ai trouvé le post Supprimer l'application des services de localisation dans Sécurité et confidentialité sur Mac OS X 10.7 , et cela m'a permis d'aller dans la bonne direction. Voici l'équivalent OS X 10.8.2 Mountain Lion qui a fonctionné pour moi. La principale différence est l'emplacement du fichier clients.plist. Je voulais également fournir un processus étape par étape.
AVERTISSEMENT: Cela a fonctionné pour moi. Assurez-vous d'avoir une bonne sauvegarde de votre système. Ce processus comprend la création d'une sauvegarde du fichier clients.plist, mais on ne peut jamais être trop sûr.
1. Démarrez le terminal, puis sudo vers un shell racine
sudo -s
2. Allez dans / var / db / locationd
cd /var/db/locationd
3. Faites une sauvegarde du fichier clients.plist
cp -p clients.plist clients.plist.save
4. Convertissez clients.plist en xml (format modifiable)
plutil -convert xml1 clients.plist
5. Utilisez vi (vim) pour modifier le fichier clients.plist et supprimer l'application.
vi clients.plist
Le fichier contiendra probablement de nombreuses entrées d'application. Voici le format d'une seule entrée d'application (Safari dans ce cas). L'entrée entière doit être supprimée.
<key>com.apple.Safari</key>
<dict>
<key>Authorized</key>
<true/>
<key>BundleId</key>
<string>com.apple.Safari</string>
<key>Executable</key>
<string>/Applications/Safari.app/Contents/MacOS/Safari</string>
<key>LocationTimeStopped</key>
<real>376348187.80421197</real>
<key>Registered</key>
<string>/Applications/Safari.app/Contents/MacOS/Safari</string>
<key>RequirementString</key>
<string>identifier "com.apple.Safari" and anchor apple</string>
<key>Whitelisted</key>
<false/>
</dict>
6. Convertissez le fichier clients.plist en binaire
plutil -convert binary1 clients.plist
7. Redémarrez locationd
killall locationd
Si les applications sont toujours là, recommencez le processus, sauf redémarrez locationd en utilisant kill -9 après avoir déterminé le PID comme suit. Le PID est le deuxième champ de la sortie ps.
ps -ef | grep locationd | grep -v grep
Sortie: 205 427 1 0 6:31PM ?? 0:00.07 /usr/libexec/locationd
kill -9 427
J'ai exécuté le processus deux fois pour supprimer une application à la fois. La première fois, le killall était suffisant. La deuxième fois, ce n'était pas le cas. Je ne sais pas pourquoi. Il agissait comme si locationd gardait un cache et reconstruisait clients.plist. Je dis cela parce que les entrées ont été ajoutées à clients.plist après avoir exécuté killall - et même lors d'un redémarrage. Quelle que soit la cause première, l'utilisation de kill -9 a résolu le problème pour moi.
Si les choses tournent mal, recopiez le fichier d'origine et redémarrez locationd.
cp -p clients.plist.save clients.plist
killall locationd
(ou la méthode kill -9)
J'espère que ça aide. À votre santé!
Réponses:
L'éditeur de liste de propriétés de Xcode peut également être utilisé pour supprimer les entrées des anciennes applications, mais comme le fichier est difficile d'accès, les autorisations doivent être temporairement ouvertes:
afin que le répertoire et le fichier puissent être lus et écrits par tous les utilisateurs. Ensuite, pour plus de commodité, utilisez votre identifiant de connexion:
Cela suppose que Xcode est l'application par défaut pour ouvrir les fichiers * .plist et que vous connaissez l'éditeur de liste de propriétés. Sous la propriété Root, il y a 3 entrées de dictionnaire par défaut:
Cela ne devrait pas être supprimé. Pour les entrées qui appartiennent à des applications disparues depuis longtemps, vous pouvez passer la souris juste à gauche de la colonne Dictionnaire de la ligne de l'application correspondante, où un gris inversé «-» apparaîtra. Cliquez dessus pour supprimer l'élément et tous ses enfants. Si vous préférez d'abord inspecter l'entrée, cliquez sur le triangle gris (familier aux utilisateurs de la vue de liste du Finder) à gauche de la chaîne de clé pour développer le dictionnaire et afficher ses éléments.
Une fois que vous avez supprimé ou désactivé les clés à votre satisfaction, enregistrez le fichier et quittez Xcode. Ensuite, de retour dans Terminal, faites:
appuyez deux fois sur la flèche vers le haut pour rappeler la commande chmod, ctrl-Apour aller au début de la ligne, cursor-rightenviron huit fois, changez le «+» en «-», ou entrez ce qui suit comme indiqué pour restaurer les autorisations à ce qu'elles étaient:
puis HUP le démon de localisation:
une vérification rapide de l'onglet Confidentialité de Security.PrefPane devrait confirmer vos modifications.
Clauses de non-responsabilité standard, récits d'avertissement de malheur, réprimandes, gloussements et "Ce voyage est-il vraiment nécessaire?" les réflexions sont particulièrement applicables.
la source
Utilisation de tccutil (utilitaire de ligne de commande OS X)
Je pense que le moyen le plus rapide et le plus sûr de le faire est d' utiliser l' utilitaire de ligne de commande OS X tccutil
Réinitialiser les services de localisation
Réinitialiser l'accès aux contacts / carnet d'adresses:
Réinitialiser l'accès aux rappels
Réinitialiser l'accès aux calendriers
Et c'est tout. Au fait, aucun Sudo n'était nécessaire.
la source
tccutil reset CoreLocationAgent
ne semble plus fonctionner. Voir ce numéro .C'est l'ancienne et la solution que je propose n'est pas techniquement différente de la solution dans la publication et acceptée, mais elle est beaucoup moins compliquée et beaucoup plus facile à automatiser (utile pour le débogage). Fais juste
en tant que root.
la source
En plus des réponses précédentes, ce problème ne s'est résolu pour moi qu'après avoir corrigé la propriété du fichier:
Redémarrez ensuite l'ordinateur.
la source