macOS companion app
Penyiapan pengembangan macOS
Penyiapan pengembang macOS
Bangun dan jalankan aplikasi macOS OpenClaw dari sumber.
Prasyarat
Sebelum membangun aplikasi, pastikan Anda telah menginstal yang berikut:
- Xcode 26.2+: Diperlukan untuk pengembangan Swift.
- Node.js 24 & pnpm: Direkomendasikan untuk Gateway, CLI, dan skrip pengemasan. Node 22 LTS, saat ini
22.16+, tetap didukung untuk kompatibilitas.
1. Instal Dependensi
Instal dependensi seluruh proyek:
pnpm install
2. Bangun dan Kemas Aplikasi
Untuk membangun aplikasi macOS dan mengemasnya ke dalam dist/OpenClaw.app, jalankan:
./scripts/package-mac-app.sh
Jika Anda tidak memiliki sertifikat Apple Developer ID, skrip akan otomatis menggunakan penandatanganan ad-hoc (-).
Untuk mode jalankan dev, flag penandatanganan, dan pemecahan masalah Team ID, lihat README aplikasi macOS: https://github.com/openclaw/openclaw/blob/main/apps/macos/README.md
Catatan: Aplikasi yang ditandatangani ad-hoc dapat memicu prompt keamanan. Jika aplikasi langsung crash dengan "Abort trap 6", lihat bagian Pemecahan Masalah.
3. Instal CLI
Aplikasi macOS mengharapkan instalasi CLI openclaw global untuk mengelola tugas latar belakang.
Untuk menginstalnya (direkomendasikan):
- Buka aplikasi OpenClaw.
- Buka tab pengaturan General.
- Klik "Install CLI".
Sebagai alternatif, instal secara manual:
npm install -g openclaw@<version>
pnpm add -g openclaw@<version> dan bun add -g openclaw@<version> juga berfungsi.
Untuk runtime Gateway, Node tetap menjadi jalur yang direkomendasikan.
Pemecahan Masalah
Build gagal: toolchain atau SDK tidak cocok
Build aplikasi macOS mengharapkan SDK macOS terbaru dan toolchain Swift 6.2.
Dependensi sistem (wajib):
- Versi macOS terbaru yang tersedia di Software Update (diwajibkan oleh SDK Xcode 26.2)
- Xcode 26.2 (toolchain Swift 6.2)
Pemeriksaan:
xcodebuild -version
xcrun swift --version
Jika versi tidak cocok, perbarui macOS/Xcode dan jalankan ulang build.
Aplikasi crash saat pemberian izin
Jika aplikasi crash ketika Anda mencoba mengizinkan akses Speech Recognition atau Microphone, ini mungkin disebabkan oleh cache TCC yang rusak atau ketidakcocokan tanda tangan.
Perbaikan:
-
Reset izin TCC:
tccutil reset All ai.openclaw.mac.debug -
Jika gagal, ubah
BUNDLE_IDsementara discripts/package-mac-app.shuntuk memaksa "clean slate" dari macOS.
Gateway "Starting..." tanpa henti
Jika status Gateway tetap di "Starting...", periksa apakah ada proses zombie yang menahan port:
openclaw gateway status
openclaw gateway stop
# If you're not using a LaunchAgent (dev mode / manual runs), find the listener:
lsof -nP -iTCP:18789 -sTCP:LISTEN
Jika proses manual menahan port, hentikan proses tersebut (Ctrl+C). Sebagai upaya terakhir, hentikan paksa PID yang Anda temukan di atas.