Я хотів видалити програми з служб локації в налаштуваннях безпеки та конфіденційності в MaC OS X 10.8 Mountain Lion. (Програми все ще були в списку, хоча вони були видалені.) Я знайшов пост Видалити додаток із служб локації в службі Безпека та конфіденційність на Mac OS X 10.7 , і це мене змусило рухатись у правильному напрямку. Ось OS X 10.8.2 Mountain Lion еквівалент, який працював на мене. Основна відмінність - розташування файлу clients.plist. Я також хотів забезпечити покроковий процес.
ВІДМОВА: Це працювало для мене. Переконайтеся, що у вас є гарне резервне копіювання вашої системи. Цей процес включає створення резервної копії файла client.plist, але він ніколи не може бути занадто безпечним.
1. Запустіть термінал, а потім судо до кореневої оболонки
sudo -s
2. Перейдіть до / var / db / locationd
cd /var/db/locationd
3. Зробіть резервну копію файлу client.plist
cp -p clients.plist clients.plist.save
4. Перетворити client.plist у xml (редагований формат)
plutil -convert xml1 clients.plist
5. Використовуйте vi (vim) для редагування файлу client.plist та видалення програми.
vi clients.plist
Цей файл, ймовірно, містить багато записів програми. Ось формат одного запису програми (Safari в даному випадку). Весь запис потрібно видалити.
<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. Перетворіть файл client.plist назад у двійковий
plutil -convert binary1 clients.plist
7. Перезавантажте локаціюі
killall locationd
Якщо програми все ще є, виконайте процес ще раз, за винятком перезапуску локаціїі використання kill -9 після визначення PID таким чином. PID - друге поле на виході ps.
ps -ef | grep locationd | grep -v grep
Вихід: 205 427 1 0 6:31PM ?? 0:00.07 /usr/libexec/locationd
kill -9 427
Я двічі запускав процес, щоб видалити одну програму за раз. Першого разу кіллала було достатньо. Вдруге цього не було. Я не знаю чому. Це діяло так, що locationd зберігає кеш і відновлює client.plist. Я говорю це тому, що записи були додані назад до clients.plist після запуску killall - і навіть при перезавантаженні. Незалежно від першопричини, використовуючи kill -9 вирішив проблему для мене.
Якщо справи йдуть погано, скопіюйте назад оригінальний файл та перезапустіть loctiond.
cp -p clients.plist.save clients.plist
killall locationd
(або метод kill -9)
Я сподіваюся, що це допомагає. Ура!