Eu queria remover aplicativos dos serviços de localização nas configurações de segurança e privacidade no MaC OS X 10.8 Mountain Lion. (Os aplicativos ainda estavam listados, apesar de terem sido desinstalados.) Encontrei a postagem Remover aplicativo dos Serviços de Localização em Segurança e Privacidade no Mac OS X 10.7 e isso me levou a seguir a direção certa. Aqui está o equivalente ao OS X 10.8.2 Mountain Lion que funcionou para mim. A principal diferença é a localização do arquivo clients.plist. Eu também queria fornecer um processo passo a passo.
AVISO LEGAL: Isso funcionou para mim. Verifique se você possui um bom backup do seu sistema. Esse processo inclui fazer um backup do arquivo customers.plist, mas nunca se pode ser muito seguro.
1. Inicie o terminal e, em seguida, sudo para um shell raiz
sudo -s
2. Vá para / var / db / locationd
cd /var/db/locationd
3. Faça um backup do arquivo clients.plist
cp -p clients.plist clients.plist.save
4. Converta customers.plist para xml (formato editável)
plutil -convert xml1 clients.plist
5. Use o vi (vim) para editar o arquivo clients.plist e remover o aplicativo.
vi clients.plist
O arquivo provavelmente conterá muitas entradas de aplicativo. Aqui está o formato de uma única entrada de aplicativo (neste caso, o Safari). A entrada inteira precisa ser excluída.
<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. Converta o arquivo clients.plist novamente em binário
plutil -convert binary1 clients.plist
7. Reinicie o locald
killall locationd
Se os aplicativos ainda estiverem lá, faça o processo novamente, exceto reiniciar locationd usando kill -9 após determinar o PID da seguinte maneira. O PID é o segundo campo na saída ps.
ps -ef | grep locationd | grep -v grep
Saída: 205 427 1 0 6:31PM ?? 0:00.07 /usr/libexec/locationd
kill -9 427
Executei o processo duas vezes para remover um aplicativo por vez. A primeira vez, killall foi suficiente. A segunda vez, não foi. Eu não sei porque. Ele agia como se o locationd estivesse mantendo um cache e reconstruindo o customers.plist. Digo isso porque as entradas foram adicionadas de volta ao customers.plist após a execução do killall - e até mesmo em uma reinicialização. Qualquer que seja a causa raiz, usar kill -9 resolveu o problema para mim.
Se tudo der errado, copie novamente o arquivo original e reinicie o locationd.
cp -p clients.plist.save clients.plist
killall locationd
(ou o método kill -9)
Eu espero que isso ajude. Felicidades!