macOS 개발자 설정
이 가이드는 소스에서 OpenClaw macOS 애플리케이션을 빌드하고 실행하기 위한 필요한 단계를 다룹니다.
사전 요구사항
앱을 빌드하기 전에 다음이 설치되어 있는지 확인하세요:
- Xcode 26.2+: Swift 개발에 필요합니다.
- Node.js 22+ & pnpm: gateway, CLI, 패키징 스크립트에 필요합니다.
1. 의존성 설치
프로젝트 전체 의존성을 설치합니다:
pnpm install
2. 앱 빌드 및 패키징
macOS 앱을 빌드하고 dist/OpenClaw.app으로 패키징하려면:
./scripts/package-mac-app.sh
Apple Developer ID 인증서가 없으면, 스크립트는 자동으로 ad-hoc 서명 (-)을 사용합니다.
개발 실행 모드, 서명 플래그, Team ID 문제 해결에 대해서는 macOS 앱 README를 참조하세요: https://github.com/openclaw/openclaw/blob/main/apps/macos/README.md
참고: Ad-hoc 서명된 앱은 보안 프롬프트를 트리거할 수 있습니다. 앱이 "Abort trap 6"으로 즉시 크래시되면, 문제 해결 섹션을 참조하세요.
3. CLI 설치
macOS 앱은 백그라운드 작업을 관리하기 위해 전역 openclaw CLI 설치를 기대합니다.
설치 방법 (권장):
- OpenClaw 앱을 엽니다.
- General 설정 탭으로 이동합니다.
- **"Install CLI"**를 클릭합니다.
또는 수동으로 설치:
npm install -g openclaw@<version>
문제 해결
빌드 실패: 툴체인 또는 SDK 불일치
macOS 앱 빌드는 최신 macOS SDK와 Swift 6.2 툴체인을 필요로 합니다.
시스템 의존성 (필수):
- 소프트웨어 업데이트에서 사용 가능한 최신 macOS 버전 (Xcode 26.2 SDK에서 요구)
- Xcode 26.2 (Swift 6.2 툴체인)
확인:
xcodebuild -version
xcrun swift --version
버전이 일치하지 않으면, macOS/Xcode를 업데이트하고 빌드를 다시 실행하세요.
권한 부여 시 앱 크래시
Speech Recognition 또는 Microphone 액세스를 허용하려고 할 때 앱이 크래시되면, 손상된 TCC 캐시 또는 서명 불일치 때문일 수 있습니다.
해결 방법:
- TCC 권한 재설정:
tccutil reset All bot.molt.mac.debug - 실패하면, scripts/package-mac-app.sh에서 BUNDLE_ID를 일시적으로 변경하여 macOS에서 "깨끗한 상태"를 강제합니다.
Gateway "Starting..." 무한 대기
gateway 상태가 "Starting..."에 머물러 있으면, 좀비 프로세스가 포트를 점유하고 있는지 확인하세요:
openclaw gateway status
openclaw gateway stop
# LaunchAgent를 사용하지 않는 경우 (개발 모드 / 수동 실행), 리스너 찾기:
lsof -nP -iTCP:18789 -sTCP:LISTEN
수동 실행이 포트를 점유하고 있으면, 해당 프로세스를 중지하세요 (Ctrl+C). 최후의 수단으로, 위에서 찾은 PID를 종료하세요.