Chciałem usunąć aplikacje z usług lokalizacyjnych w ustawieniach bezpieczeństwa i prywatności w MaC OS X 10.8 Mountain Lion. (Aplikacje nadal były na liście, mimo że zostały odinstalowane). Znalazłem wpis Usuń aplikację z usług lokalizacyjnych w obszarze Bezpieczeństwo i prywatność w systemie Mac OS X 10.7 , co pomogło mi pójść we właściwym kierunku. Oto odpowiednik OS X 10.8.2 Mountain Lion, który zadziałał dla mnie. Główną różnicą jest lokalizacja pliku client.plist. Chciałem też zapewnić proces krok po kroku.
ZASTRZEŻENIE: To zadziałało dla mnie. Upewnij się, że masz dobrą kopię zapasową systemu. Proces ten obejmuje wykonanie kopii zapasowej pliku client.plist, ale nigdy nie można być zbyt bezpiecznym.
1. Uruchom terminal, a następnie sudo do powłoki roota
sudo -s
2. Przejdź do / var / db / locationd
cd /var/db/locationd
3. Wykonaj kopię zapasową pliku client.plist
cp -p clients.plist clients.plist.save
4. Konwertuj client.plist na xml (format edytowalny)
plutil -convert xml1 clients.plist
5. Użyj vi (vim), aby edytować plik klient.plist i usuń aplikację.
vi clients.plist
Plik prawdopodobnie będzie zawierał wiele wpisów aplikacji. Oto format pojedynczego wpisu aplikacji (w tym przypadku Safari). Cały wpis musi zostać usunięty.
<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. Konwertuj plik client.plist z powrotem na plik binarny
plutil -convert binary1 clients.plist
7. Uruchom ponownie lokalizację
killall locationd
Jeśli aplikacje nadal tam są, wykonaj ten proces ponownie, z wyjątkiem ponownego uruchomienia lokalizacji za pomocą kill -9 po określeniu PID w następujący sposób. PID jest drugim polem na wyjściu ps.
ps -ef | grep locationd | grep -v grep
Wydajność: 205 427 1 0 6:31PM ?? 0:00.07 /usr/libexec/locationd
kill -9 427
Uruchomiłem ten proces dwukrotnie, aby usunąć jedną aplikację na raz. Za pierwszym razem killall było wystarczające. Za drugim razem tak nie było. Nie wiem dlaczego. Działało to tak, jakby lokalizacja utrzymywała pamięć podręczną i odbudowywała listę klientów.pl. Mówię to, ponieważ wpisy zostały dodane z powrotem do client.plist po uruchomieniu killall - a nawet po ponownym uruchomieniu. Niezależnie od przyczyny, użycie kill -9 rozwiązało problem.
Jeśli coś pójdzie nie tak, skopiuj oryginalny plik i zrestartuj lokalizację.
cp -p clients.plist.save clients.plist
killall locationd
(lub metoda kill -9)
Mam nadzieję, że to pomoże. Twoje zdrowie!
Odpowiedzi:
Edytora list właściwości Xcode można również używać do usuwania wpisów starych aplikacji, ale ponieważ trudno jest uzyskać dostęp do pliku, uprawnienia należy tymczasowo otworzyć:
więc katalog i plik mogą być odczytywane i zapisywane przez wszystkich użytkowników. Następnie dla wygody użyj swojego identyfikatora logowania:
Zakłada się, że Xcode jest domyślną aplikacją do otwierania plików * .plist i znasz Edytor list właściwości. We właściwości Root znajdują się 3 domyślne wpisy słownika:
Nie należy ich usuwać. W przypadku wpisów należących do aplikacji, które już dawno minęły, możesz najechać wskaźnikiem myszy na lewo od kolumny Słownik wiersza odpowiedniej aplikacji, gdzie pojawi się odwrotne szare „-”. Kliknięcie go usunie element i wszystkie jego elementy potomne. Jeśli wolisz najpierw sprawdzić wpis, kliknięcie szarego trójkąta (znanego użytkownikom widoku listy Findera) po lewej stronie ciągu klucza spowoduje rozwinięcie słownika i wyświetlenie jego elementów.
Po usunięciu lub wyłączeniu kluczy według własnego uznania zapisz plik i zamknij Xcode. Następnie w Terminalu wykonaj:
naciśnij dwukrotnie strzałkę w górę, aby przywołać komendę chmod, ctrl-Aaby przejść do początku wiersza, cursor-rightokoło osiem razy, zmienić „+” na „-” lub wprowadzić następujące polecenie, jak pokazano, aby przywrócić uprawnienia do tego, czym były:
następnie HUP demona lokalizacji:
szybkie sprawdzenie zakładki Prywatność Security.PrefPane powinno potwierdzić twoje zmiany.
Standardowe zrzeczenia się odpowiedzialności, przestrogi o nieszczęściu, besztanie, szczekanie i „Czy ta podróż jest naprawdę konieczna?” refleksje są szczególnie przydatne.
źródło
Korzystanie z tccutil (narzędzie wiersza polecenia OS X)
Myślę, że najszybszym i najbezpieczniejszym sposobem jest skorzystanie z narzędzia wiersza polecenia OS X tccutil
Zresetuj usługi lokalizacyjne
Zresetuj dostęp do kontaktów / książki adresowej:
Zresetuj dostęp do Przypomnień
Zresetuj dostęp do kalendarzy
I to wszystko. Nawiasem mówiąc, nie było potrzebne Sudo.
źródło
tccutil reset CoreLocationAgent
już nie działa. Zobacz ten problem .To jest stare i proponowane przeze mnie rozwiązanie nie różni się technicznie od rozwiązania w poście i przyjętego, ale jest o wiele mniej kłopotliwe i łatwiejsze do zautomatyzowania (przydatne do debugowania). Po prostu zrób
jako root.
źródło
Oprócz poprzednich odpowiedzi ten problem zniknął dla mnie dopiero po skorygowaniu własności pliku:
Następnie uruchom ponownie komputer.
źródło