一部のGUIアプリはOS Xの位置情報サービスを使用していますが、コマンドラインからMacの物理的な位置情報を取得したいです。これは、スクリプトの実行、設定の切り替えなどに役立ちます。メカニズムは、Geo IPサービスではなくCoreLocationにする必要があります(データが低すぎるため、オンライン接続が必要です)。
最小要件は、経度と緯度の出力です。ニースは精度を示す数字になります。とてもいい:ロケーション名を提供するジオコーダー。
一部のGUIアプリはOS Xの位置情報サービスを使用していますが、コマンドラインからMacの物理的な位置情報を取得したいです。これは、スクリプトの実行、設定の切り替えなどに役立ちます。メカニズムは、Geo IPサービスではなくCoreLocationにする必要があります(データが低すぎるため、オンライン接続が必要です)。
最小要件は、経度と緯度の出力です。ニースは精度を示す数字になります。とてもいい:ロケーション名を提供するジオコーダー。
回答:
vilmoskörteの答えは良いように見えますが、私は自分自身の教育のためにこれを行うツールを作るために自分自身にそれを取りました。GitHubに置きました。
シンプルなコマンドラインツール。オプションはなく、単に実行して、緯度/経度、メートル単位の精度、タイムスタンプを出力します。OS Xロケーションサービスを有効にする必要があります([システム環境設定]> [セキュリティとプライバシー])。
これらのアプリは、Core Locationサービスで認証する前に開発者証明書で署名する必要があります。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
連続出力ではなく、単一の出力のみを検索する場合にサポートされるようになりました。
最後に、自分でコンパイルしたくない場合は、プロジェクトページにも完全なバイナリがあります。最初のアプリの実行時に、まだ認証する必要があります(「このアプリに現在地へのアクセスを許可しますか?」)。