C'è un modo per accedere alla geolocalizzazione di un Mac dal terminale?


46

Alcune app della GUI utilizzano i servizi di localizzazione di OS X, ma desidero recuperare la posizione fisica di un Mac dalla riga di comando . Questo potrebbe essere utile per eseguire script, cambiare impostazioni ecc. Il meccanismo dovrebbe essere CoreLocation , non un servizio Geo IP (dati a risoluzione troppo bassa, necessita di connessione online).

Il requisito minimo è l'output di longitudine e latitudine . Bello sarebbe un numero che indica la precisione. Super bello: un geocoder che fornisce i nomi delle località.


Si prega di non includere le risposte direttamente nella domanda, tende a confondere le persone e rende piuttosto difficile capire quale sia effettivamente la domanda. Se desideri aggiungere un output di esempio alle diverse soluzioni offerte, puoi farlo direttamente modificando le risposte.
Nohillside

Risposte:


31

La risposta di vilmoskörte sembra essere buona, ma mi sono preso la responsabilità di creare uno strumento che faccia questo per la mia educazione. L'ho messo su GitHub.

Dove sono

Un semplice strumento da riga di comando. Nessuna opzione, esegue e stampa solo Lat / Long, precisione in metri e data e ora. Sarà necessario attivare i Servizi di localizzazione di OS X (Preferenze di Sistema> Sicurezza e Privacy) e l'autorizzazione per raccogliere la tua posizione (OS X ti chiederà al primo avvio).

Link per il download diretto (.zip)


È fantastico - bonus per semplicità !!
myhd

link non funzionante, ha sollevato una richiesta pull con rob
booyaa,

@booyaa grazie per il suggerimento. Link si è interrotto qualche tempo fa quando GitHub ha ucciso i download e ho rovinato il mio account. È tornato adesso.
robmathers

13

Questo è già stato programmato, dai un'occhiata

http://iharder.sourceforge.net/current/macosx/locateme/


molto bella. bella opzione:-g … Generate a Google Map URL
myhd

L'autore del software ha indicato di essere a conoscenza dei problemi di Mountain Lion e controllerà il codice per vedere se è disponibile una soluzione semplice.
bmike

Questa è la risposta migliore Puoi installarlo con brew install locatemee funziona su macOS Mojave.
MK12,

8

Sono l'autore di LocateMe e ho appena scoperto che devo copiare LocateMe nella cartella / Applicazioni affinché funzioni in Mountain Lion. Non sono sicuro di cosa dovrei fare per evitarlo, probabilmente qualcosa per ottenere un certificato, che probabilmente non perseguirò presto.

Nel frattempo, per LocateMe e probabilmente gli altri, prova a copiarli in / Applicazioni e vedi se hai più fortuna.

-Rapinare


Posso confermare che funziona.
markhunte,

5

Queste app devono essere firmate con un certificato per sviluppatori prima di poter autorizzare con il servizio di localizzazione principale. Se guardi in Console.app puoi vedere i tentativi falliti di autorizzare:

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 

Ho usato il mio account sviluppatore per creare e firmare un nuovo binario Whereeami . Dopo averlo eseguito, Mountain Lion ti chiederà l'autorizzazione per consentirgli di accedere ai dati sulla posizione.


Questo ha funzionato benissimo per me su Mac 10.8.2
TJ Luoma,

4

Sono l'autore di CoreLocationCLI, menzionato nei commenti sopra. Volevo solo notare che abbiamo spostato il progetto in questa posizione:

https://github.com/fulldecent/corelocationcli

Inoltre, ora supporta solo --oncese stai cercando un singolo output, anziché un output continuo.

Infine, c'è un file binario completo anche nella pagina del progetto se preferisci non compilarlo da solo. Dovrai comunque autorizzare ("Desideri che questa app sia in grado di accedere alla tua posizione") alla prima esecuzione dell'app.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.