Find My (Apple)은(는) 무엇을 하나요?
Apple 기기 및 AirTag를 macOS의 FindMy.app을 통해 추적합니다. Apple은 FindMy에 CLI를 제공하지 않기 때문에, 이 스킬은 AppleScript를 사용하여 앱을 열고 화면 캡처로 기기 위치를 읽어옵니다.
필수 조건
- macOS에서 Find My 앱과 iCloud 로그인 필요
- 기기/AirTag가 Find My에 이미 등록되어 있어야 함
- 터미널에 대한 Screen Recording 권한 (시스템 설정 → 개인정보 보호 → 화면 기록)
- 선택 사항이지만 권장: 더 나은 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 항목 클릭 (페이지가 열려 있어야 업데이트됨)
# 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 페이지가 활성 상태로 표시될 때만 위치 업데이트
- 위치 정확도는 FindMy 네트워크에 있는 주변 Apple 기기에 따라 달라짐
- 스크린샷을 위해 Screen Recording 권한 필요
- AppleScript UI 자동화는 macOS 버전 간에 호환되지 않을 수 있음
규칙
- AirTag 추적 시 FindMy 앱을 포그라운드로 유지 (최소화하면 업데이트 중단)
- 스크린샷 내용을 읽기 위해
vision_analyze사용 — 픽셀을 직접 파싱하지 않음 - 지속적인 추적을 위해 cronjob을 사용하여 주기적으로 위치 캡처 및 기록
- 개인정보 존중 — 사용자가 소유한 기기/물건만 추적