일부 GUI 응용 프로그램은 OS X 위치 서비스를 사용하지만 명령 줄 에서 Mac의 실제 위치를 검색하고 싶습니다 . 이는 스크립트 실행, 설정 전환 등에 유용 할 수 있습니다. 메커니즘은 Geo IP 서비스가 아닌 CoreLocation 이어야합니다 (데이터가 너무 낮고 온라인 연결이 필요함).
최소 요구 사항은 경도 와 위도의 출력입니다 . 정밀도를 나타내는 숫자가 좋습니다. 매우 훌륭함 : 위치 이름을 제공하는 지오 코더.
일부 GUI 응용 프로그램은 OS X 위치 서비스를 사용하지만 명령 줄 에서 Mac의 실제 위치를 검색하고 싶습니다 . 이는 스크립트 실행, 설정 전환 등에 유용 할 수 있습니다. 메커니즘은 Geo IP 서비스가 아닌 CoreLocation 이어야합니다 (데이터가 너무 낮고 온라인 연결이 필요함).
최소 요구 사항은 경도 와 위도의 출력입니다 . 정밀도를 나타내는 숫자가 좋습니다. 매우 훌륭함 : 위치 이름을 제공하는 지오 코더.
답변:
vilmoskörte의 대답 은 좋은 것으로 보이지만, 나는 내 자신의 교육을 위해 이것을 수행하는 도구를 만들기 위해 스스로 그것을 취했습니다. 나는 그것을 GitHub에 넣었다.
간단한 명령 줄 도구입니다. 옵션 없음, Lat / Long, 미터 단위의 정확도 및 타임 스탬프 만 실행 및 출력합니다. OS X 위치 서비스가 켜져 있어야하고 (시스템 환경 설정> 보안 및 개인 정보 보호), 위치를 수집 할 수있는 권한이 필요합니다 (OS X는 처음 실행시 메시지를 표시합니다).
이러한 앱은 핵심 위치 서비스로 권한을 부여하기 전에 개발자 인증서로 서명해야합니다. Console.app를 보면 인증 시도 실패를 확인할 수 있습니다.
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
개발자 계정을 사용하여 새로운 whereami 바이너리 를 빌드하고 서명했습니다 . 실행 한 후 Mountain Lion은 위치 데이터에 액세스 할 수있는 권한을 요청합니다.
위의 의견에서 언급 한 CoreLocationCLI의 저자입니다. 프로젝트를이 위치로 옮겼습니다.
https://github.com/fulldecent/corelocationcli
또한 --once
연속 출력이 아닌 단일 출력 만 찾는 경우에도 지원 됩니다.
마지막으로, 직접 컴파일하지 않으려는 경우 프로젝트 페이지에도 전체 바이너리가 있습니다. 첫 번째 앱 실행시 여전히 권한을 부여해야합니다 ( "이 앱이 사용자의 위치에 액세스하도록 하시겠습니까?").