Find My (Apple)
macOS の FindMy.app を介して Apple デバイスや AirTag の位置情報を追跡します。Apple が FindMy 用の CLI を提供していないため、このスキルでは AppleScript を使用してアプリを操作し、スクリーンキャプチャでデバイスの位置情報を読み取ります。
前提条件
- macOS で Find My アプリに iCloud サインイン済みであること
- 追跡するデバイス/AirTag が Find My に登録済みであること
- ターミナルに画面収録のアクセス許可が与えられていること(システム設定 → プライバシーとセキュリティ → 画面収録)
- 推奨(必須ではありません):より安定した UI 自動化のために
peekabooをインストール:brew install steipete/tap/peekaboo
使用場面
- ユーザーが「私の[デバイス/猫/鍵/バッグ]はどこ?」と尋ねたとき
- AirTag の位置情報を追跡するとき
- デバイス(iPhone、iPad、Mac、AirPods)の位置を確認するとき
- ペットやアイテムの移動を長期的に監視するとき(AirTag のパトロール経路)
方法1:AppleScript + スクリーンショット(基本)
FindMy を開いて操作
# Find My アプリを開く
osascript -e 'tell application "FindMy" to activate'
# 読み込み完了を待つ
sleep 3
# Find My ウィンドウのスクリーンショットを撮る
screencapture -w -o /tmp/findmy.png
次に vision_analyze でスクリーンショットを読み取ります:
vision_analyze(image_url="/tmp/findmy.png", question="表示されているデバイス/アイテムとその位置情報は?")
タブの切り替え
# デバイスタブに切り替え
osascript -e '
tell application "System Events"
tell process "FindMy"
click button "デバイス" of toolbar 1 of window 1
end tell
end tell'
# アイテムタブに切り替え(AirTag)
osascript -e '
tell application "System Events"
tell process "FindMy"
click button "アイテム" of toolbar 1 of window 1
end tell
end tell'
方法2:Peekaboo UI 自動化(推奨)
peekaboo がインストールされている場合、より信頼性の高い UI 操作が可能です:
# Find My を開く
osascript -e 'tell application "FindMy" to activate'
sleep 3
# UI をキャプチャして注釈を付ける
peekaboo see --app "FindMy" --annotate --path /tmp/findmy-ui.png
# 特定のデバイス/アイテムを要素 ID でクリック
peekaboo click --on B3 --app "FindMy"
# 詳細ビューをキャプチャ
peekaboo image --app "FindMy" --path /tmp/findmy-detail.png
次に vision で解析します:
vision_analyze(image_url="/tmp/findmy-detail.png", question="このデバイス/アイテムの位置情報は?住所や座標が表示されていれば含めてください。")
ワークフロー:AirTag の位置を経時追跡
AirTag の監視(例:猫のパトロール経路の追跡)には:
# 1. FindMy を開いてアイテムタブに移動
osascript -e 'tell application "FindMy" to activate'
sleep 3
# 2. AirTag アイテムをクリック(ページを開いたままにしておく — AirTag はページを表示中のみ更新)
# 3. 定期的に位置情報をキャプチャ
while true; do
screencapture -w -o /tmp/findmy-$(date +%H%M%S).png
sleep 300 # 5分ごと
done
各スクリーンショットを vision で解析して座標を抽出し、経路をまとめます。
制限事項
- FindMy には CLI や API がありません — UI 自動化が必要です
- AirTag は FindMy のページがアクティブに表示されている間のみ位置を更新します
- 位置精度は Find My ネットワーク内の近くの Apple デバイスに依存します
- スクリーンショット撮影には画面収録の許可が必要です
- AppleScript による UI 自動化は macOS のバージョンによって動作しなくなる可能性があります
ルール
- AirTag を追跡するときは FindMy アプリを前面に保つこと(最小化すると更新が止まります)
vision_analyzeでスクリーンショットの内容を読み取ること — ピクセルを直接解析しようとしないこと- 継続的な追跡には cron ジョブを使用して定期的にキャプチャとログ記録を行うこと
- プライバシーを尊重すること — ユーザーが所有するデバイス/アイテムのみを追跡すること