Ich wollte Anwendungen aus den Ortungsdiensten in den Sicherheits- und Datenschutzeinstellungen von MaC OS X 10.8 Mountain Lion entfernen. (Die Apps wurden immer noch aufgelistet, obwohl sie deinstalliert wurden.) Unter Mac OS X 10.7 fand ich die Meldung "Anwendung von Ortungsdiensten in Sicherheit und Datenschutz entfernen" , und dies brachte mich in die richtige Richtung. Hier ist das OS X 10.8.2 Mountain Lion-Äquivalent, das für mich funktioniert hat. Der Hauptunterschied ist der Speicherort der clients.plist-Datei. Ich wollte auch einen schrittweisen Prozess bereitstellen.
HAFTUNGSAUSSCHLUSS: Das hat bei mir funktioniert. Stellen Sie sicher, dass Sie eine gute Sicherung Ihres Systems haben. Dieser Vorgang umfasst das Erstellen einer Sicherungskopie der Datei clients.plist, die jedoch niemals zu sicher sein kann.
1. Starten Sie das Terminal und wechseln Sie dann in eine Root-Shell
sudo -s
2. Wechseln Sie zu / var / db / locationd
cd /var/db/locationd
3. Erstellen Sie eine Sicherungskopie der Datei clients.plist
cp -p clients.plist clients.plist.save
4. clients.plist nach xml konvertieren (editierbares Format)
plutil -convert xml1 clients.plist
5. Verwenden Sie vi (vim), um die Datei clients.plist zu bearbeiten und die Anwendung zu entfernen.
vi clients.plist
Die Datei enthält wahrscheinlich viele Anwendungseinträge. Hier ist das Format eines einzelnen Anwendungseintrags (in diesem Fall Safari). Der gesamte Eintrag muss gelöscht werden.
<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. Konvertieren Sie die Datei clients.plist zurück in die Binärdatei
plutil -convert binary1 clients.plist
7. Starten Sie locationd neu
killall locationd
Wenn die Apps noch vorhanden sind, wiederholen Sie den Vorgang, mit Ausnahme des Neustarts von locationd mit kill -9, nachdem Sie die PID wie folgt ermittelt haben. Die PID ist das zweite Feld in der ps-Ausgabe.
ps -ef | grep locationd | grep -v grep
Ausgabe: 205 427 1 0 6:31PM ?? 0:00.07 /usr/libexec/locationd
kill -9 427
Ich habe den Vorgang zweimal ausgeführt, um jeweils eine App zu entfernen. Das erste Mal war killall ausreichend. Das zweite Mal war es nicht. Keine Ahnung warum. Es hat sich so verhalten, als würde locationd einen Cache führen und clients.plist neu erstellen. Ich sage das, weil die Einträge nach dem Ausführen von killall wieder zu clients.plist hinzugefügt wurden - und sogar bei einem Neustart. Was auch immer die Ursache sein mag, mit kill -9 konnte ich das Problem lösen.
Wenn alles schief geht, kopieren Sie die Originaldatei zurück und starten Sie locationd neu.
cp -p clients.plist.save clients.plist
killall locationd
(oder die kill -9 Methode)
Ich hoffe das hilft. Prost!
Antworten:
Der Eigenschaftenlisten-Editor von Xcode kann auch zum Löschen der Einträge alter Apps verwendet werden. Da die Datei jedoch schwer zugänglich ist, müssen die Berechtigungen vorübergehend geöffnet werden:
so können das Verzeichnis und die Datei von allen Benutzern gelesen und geschrieben werden. Dann zur Vereinfachung su zu Ihrer Login-ID:
Dies setzt voraus, dass Xcode die Standard-App zum Öffnen von * .plist-Dateien ist und Sie mit dem Eigenschaftenlisten-Editor vertraut sind. Unter der Root-Eigenschaft befinden sich 3 Standardwörterbucheinträge:
Diese sollten nicht entfernt werden. Bei Einträgen, die zu längst vergangenen Apps gehören, können Sie den Mauszeiger direkt links neben der Wörterbuchspalte der entsprechenden App-Zeile platzieren. Dort wird ein graues umgekehrtes "-" angezeigt. Wenn Sie darauf klicken, werden das Element und alle untergeordneten Elemente entfernt. Wenn Sie den Eintrag lieber zuerst überprüfen möchten, klicken Sie auf das graue Dreieck (für Benutzer der Finder-Listenansicht bekannt) links neben der Schlüsselzeichenfolge, um das Wörterbuch zu erweitern und seine Elemente anzuzeigen.
Sobald Sie die Schlüssel zu Ihrer Zufriedenheit gelöscht oder deaktiviert haben, speichern Sie die Datei und beenden Sie Xcode. Gehen Sie dann im Terminal wie folgt vor:
Drücken Sie zweimal den Aufwärtspfeil, um den Befehl chmod aufzurufen, ctrl-Azum Zeilenanfang zu gehen, cursor-rightetwa achtmal, ändern Sie das '+' in ein '-', oder geben Sie Folgendes ein, um die Berechtigungen wiederherzustellen:
dann HUP den Location Daemon:
Eine schnelle Überprüfung der Registerkarte "Security.PrefPane-Datenschutz" sollte Ihre Änderungen bestätigen.
Standard-Haftungsausschlüsse, warnende Leidensgeschichten, Schelte, Glucksen und "Ist diese Reise wirklich notwendig?" Reflexionen sind besonders anwendbar.
quelle
Verwenden von tccutil (OS X-Befehlszeilenprogramm)
Ich denke, der schnellste und sicherste Weg, dies zu tun, ist das OS X-Befehlszeilenprogramm tccutil
Setzen Sie die Ortungsdienste zurück
Zugriff auf Kontakte / Adressbuch zurücksetzen:
Setzen Sie den Zugriff auf Erinnerungen zurück
Setzen Sie den Zugriff auf Kalender zurück
Und das ist alles was dazu gehört. Übrigens brauchte ich kein Sudo.
quelle
tccutil reset CoreLocationAgent
scheint nicht mehr zu funktionieren. Siehe diese Ausgabe .Dies ist die alte und die von mir vorgeschlagene Lösung unterscheidet sich technisch nicht von der Lösung in der Post und der akzeptierten, aber es ist viel weniger mühsam und viel einfacher zu automatisieren (nützlich für das Debuggen). Mach einfach
als root.
quelle
Zusätzlich zu den vorherigen Antworten konnte ich dieses Problem erst beheben, nachdem ich den Dateibesitzer korrigiert hatte:
Starten Sie dann den Computer neu.
quelle