macOS Developer Setup
Diese Anleitung zeigt dir die notwendigen Schritte, um die OpenClaw macOS-Anwendung aus dem Quellcode zu bauen und auszuführen.
Voraussetzungen
Bevor du die App baust, stelle sicher, dass du Folgendes installiert hast:
- Xcode 26.2+: Erforderlich für die Swift-Entwicklung.
- Node.js 22+ & pnpm: Erforderlich für Gateway, CLI und Packaging-Skripte.
1. Dependencies installieren
Installiere die projektweiten Dependencies:
pnpm install
2. App bauen und packen
Um die macOS-App zu bauen und in dist/OpenClaw.app zu packen, führe aus:
./scripts/package-mac-app.sh
Wenn du kein Apple Developer ID-Zertifikat hast, verwendet das Skript automatisch Ad-hoc-Signierung (-).
Für Dev-Run-Modi, Signing-Flags und Team-ID-Troubleshooting schau dir die macOS-App-README an: https://github.com/openclaw/openclaw/blob/main/apps/macos/README.md
Hinweis: Ad-hoc-signierte Apps können Sicherheitswarnungen auslösen. Wenn die App sofort mit “Abort trap 6” abstürzt, schau dir den Troubleshooting-Abschnitt an.
3. CLI installieren
Die macOS-App erwartet eine globale openclaw CLI-Installation, um Hintergrundaufgaben zu verwalten.
Installation (empfohlen):
- Öffne die OpenClaw-App.
- Gehe zum Tab General in den Einstellungen.
- Klicke auf “Install CLI”.
Alternativ kannst du sie manuell installieren:
npm install -g openclaw@<version>
Troubleshooting
Build schlägt fehl: Toolchain- oder SDK-Mismatch
Der macOS-App-Build erwartet das neueste macOS SDK und die Swift 6.2 Toolchain.
System-Dependencies (erforderlich):
- Neueste macOS-Version aus dem Software-Update (erforderlich für Xcode 26.2 SDKs)
- Xcode 26.2 (Swift 6.2 Toolchain)
Checks:
xcodebuild -version
xcrun swift --version
Wenn die Versionen nicht übereinstimmen, aktualisiere macOS/Xcode und führe den Build erneut aus.
App stürzt bei Berechtigungserteilung ab
Wenn die App abstürzt, sobald du Spracherkennung oder Mikrofon-Zugriff erlaubst, kann das an einem beschädigten TCC-Cache oder einer Signatur-Inkompatibilität liegen.
Lösung:
- Setze die TCC-Berechtigungen zurück:
tccutil reset All bot.molt.mac.debug - Falls das nicht hilft, ändere die
BUNDLE_IDvorübergehend inscripts/package-mac-app.sh, um einen “sauberen Neustart” von macOS zu erzwingen.
Gateway bleibt bei “Starting…” hängen
Wenn der Gateway-Status auf “Starting…” stehen bleibt, prüfe, ob ein Zombie-Prozess den Port blockiert:
openclaw gateway status
openclaw gateway stop
# Falls du keinen LaunchAgent verwendest (Dev-Modus / manuelle Ausführung), finde den Listener:
lsof -nP -iTCP:18789 -sTCP:LISTEN
Wenn ein manueller Prozess den Port hält, stoppe ihn (Ctrl+C). Als letzten Ausweg kannst du die PID, die du oben gefunden hast, killen.