AgentDeck · App Store Migration · 2026-04-19

Before
After (App Store)
Bundled Assets
Contents/Helpers/node Contents/Helpers/adb bridge/cli.js agentdeck-d200h-helper.sh
SessionLauncher  461줄
Terminal.app / iTerm 자동 실행 .command 스크립트 생성 후 exec 6종 agent (claude/codex/opencode…) NSWorkspace → AppleScript fallback
DaemonService  1,033줄
Node.js bridge 프로세스 spawn D200H helper 스크립트 spawn externalDaemonProcess 추적
Subprocess 호출
/usr/bin/security  (Keychain) /usr/bin/sqlite3  (쿠키 DB) networksetup  (Wi-Fi SSID) whisper-cli  (음성 전사) openclaw doctor / logs
File Access
home-relative-path entitlement ~/.agentdeck/ 직접 접근 → App Review 2.5.2 거부 사유
Session 감지
~/.agentdeck/sessions.json 파일시스템 감시
No Bundled Assets
verify-appstore-archive.sh — CI 자동 차단 Mach-O에서 /bin/sh, sqlite3, npm 문자열 grep D200H: IOKit HID 직접 접근 (entitlement)
SessionLauncher  67줄 (85% 축소)
NSAlert — "터미널에서 직접 실행하세요" Hook 활성화 시 세션 자동 감지 쉘 스크립트·프로세스 spawn 없음 → App Review 4.2.3 통과
Swift Daemon (in-process)  813줄
WS Server :9120 (iPad/Web 페어링) IOKit HID → D200H Serial → ESP32 HTTP → Pixoo alreadyRunning → WS client 전환 (CLI 공존)
Entitlements only
device.usb · device.serial · audio-input network.client · network.server subprocess 없이 직접 API 접근
File Access — App Sandbox Container
app-sandbox entitlement only ~/Library/Containers/bound…/Data/Library/Application Support/AgentDeck/ AgentDeckPaths.swift — 단일 라우터 첫 실행: ~/.agentdeck/ → 자동 마이그레이션
Hook HTTP Receiver + Progressive UI
~/.claude/settings.json hook → SessionStart POST isUsingExternalDaemon → 미지원 섹션 숨김 "Sandbox 제한" 안내 없음 — feature-complete로 보임
−1,750
줄 삭제
+247
줄 추가
85%
SessionLauncher 축소
80%
AdbModule 축소
22
파일 수정
69
테스트 케이스 삭제