Existe uma maneira de acessar a geolocalização de um Mac a partir do terminal?


46

Alguns aplicativos GUI usam serviços de localização do OS X, mas quero recuperar a localização física de um Mac na linha de comando . Isso pode ser útil para executar scripts, alternar configurações etc. O mecanismo deve ser o CoreLocation , não um serviço de IP geográfico (dados com baixa resolução, precisa de conexão on-line).

O requisito mínimo é a saída de longitude e latitude . Bom seria um número indicando a precisão. Super legal: um geocoder que fornece nomes de locais.


Por favor, não inclua respostas diretamente na pergunta, pois isso tende a confundir as pessoas e dificulta a compreensão do que realmente é a pergunta. Se você deseja adicionar amostra de saída às diferentes soluções oferecidas, é possível fazê-lo diretamente, editando as respostas.
nohillside

Respostas:


31

A resposta de vilmoskörte parece ser boa, mas decidi criar uma ferramenta que faz isso para minha própria educação. Coloquei no GitHub.

Onde estou

Uma ferramenta simples de linha de comando. Sem opções, apenas executa e gera Lat / Long, precisão em metros e carimbo de data e hora. Será necessário ativar os Serviços de Localização do OS X (Preferências do Sistema> Segurança e Privacidade) e permissão para reunir a sua localização (o OS X solicitará você na primeira execução).

Link para download direto (.zip)


Isso é ótimo - bônus pela simplicidade !!
myhd

elo é quebrado, levantou uma solicitação de recebimento com Rob
Booyaa

@booyaa obrigado pela solicitação. O link quebrou há um tempo atrás quando o GitHub eliminou downloads e eu estraguei minha conta. Está de volta agora.
precisa saber é


8

Sou o autor do LocateMe e acabei de descobrir que tenho que copiar o LocateMe na pasta / Applications para que ele funcione no Mountain Lion. Não sei ao certo o que eu teria que fazer para evitar isso - provavelmente algo sobre obter um certificado, que provavelmente não procurarei tão cedo.

Enquanto isso, para o LocateMe e provavelmente os outros, tente copiá-los para / Applications e veja se você tem melhor sorte.

-Roubar


Eu posso confirmar que funciona.
markhunte

5

Esses aplicativos precisam ser assinados com um certificado de desenvolvedor antes de poderem autorizar com o serviço de localização principal. Se você procurar no Console.app, poderá ver as tentativas com falha de autorizar:

31/12/2012 13:08:26.441 locationd[484]: Couldn't get information from PID 40084
31/12/2012 13:08:27.515 CoreLocationAgent[40086]: CodeSigningInforequest for pid=40084 

Eu usei minha conta de desenvolvedor para criar e assinar um novo binário em que você está . Depois de executá-lo, o Mountain Lion solicitará sua permissão para permitir que ele acesse dados de localização.


Isso funcionou muito bem para mim no Mac 10.8.2
TJ Luoma

4

Eu sou o autor de CoreLocationCLI, mencionado nos comentários acima. Só queria observar que movemos o projeto para este local:

https://github.com/fulldecent/corelocationcli

Além disso, agora ele suporta --oncese você estiver procurando apenas uma única saída, em vez de saída contínua.

Por fim, também existe um binário completo na página do projeto, se você preferir não compilá-lo. Você ainda precisará autorizar ("Deseja que este aplicativo possa acessar sua localização") na primeira execução do aplicativo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.