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!
Respostas:
O editor de lista de propriedades do Xcode também pode ser usado para excluir entradas de aplicativos antigos, mas como o arquivo é difícil de acessar, as permissões precisam ser abertas temporariamente:
para que o diretório e o arquivo possam ser lidos e gravados por todos os usuários. Então, por conveniência, digite seu ID de login:
Isso pressupõe que o Xcode é o aplicativo padrão para abrir arquivos * .plist e você está familiarizado com o Editor de lista de propriedades. Sob a propriedade Raiz, existem 3 entradas padrão do Dicionário:
Aqueles não devem ser removidos. Para entradas que pertencem a aplicativos antigos, você pode passar o mouse à esquerda da coluna Dicionário da linha do aplicativo correspondente, onde um cinza - - 'inverso será exibido. Clicar nele removerá o item e todos os seus filhos. Se você preferir inspecionar a entrada primeiro, clicar no triângulo cinza (familiar aos usuários da exibição em lista do Finder) à esquerda da sequência de teclas expandirá o Dicionário e exibirá seus elementos.
Depois de excluir ou desativar as chaves, salve o arquivo e feche o Xcode. Em seguida, de volta ao Terminal, faça:
pressione a seta para cima duas vezes para recuperar o comando chmod, ctrl-Apara ir para o início da linha, cursor-rightcerca de oito vezes, altere o '+' para um '-' ou digite o seguinte, como mostrado, para restaurar as permissões para o que eram:
em seguida, HUP o daemon de localização:
uma verificação rápida da guia Privacidade do Security.PrefPane deve confirmar suas alterações.
Isenções de responsabilidade padrão, histórias de desgraça, xingamentos, risadas e "Esta viagem é realmente necessária?" reflexões são especialmente aplicáveis.
fonte
Usando tccutil (utilitário de linha de comando do OS X)
Eu acho que a maneira mais rápida e segura de fazer isso é através do utilitário de linha de comando do OS X, tccutil
Redefinir os serviços de localização
Redefinir o acesso aos contatos / catálogo de endereços:
Redefinir o acesso aos lembretes
Redefinir o acesso aos calendários
E é só isso. A propósito, nenhum Sudo era necessário.
fonte
tccutil reset CoreLocationAgent
parece não funcionar mais. Veja esta edição .Este é o antigo e a solução que proponho não é tecnicamente diferente da solução do post e é aceita, mas é muito menos complicada e muito mais fácil de automatizar (útil para depuração). Apenas faça
como raiz.
fonte
Além das respostas anteriores, esse problema só desapareceu depois de corrigir a propriedade do arquivo:
Em seguida, reinicie o computador.
fonte