Configuración de Desarrollo macOS
Guía de configuración para desarrolladores que trabajan en la app macOS de OpenClaw
Esta guía cubre los pasos necesarios para compilar y ejecutar la aplicación macOS de OpenClaw desde el código fuente.
Requisitos Previos
Antes de compilar la app, asegúrate de tener instalado lo siguiente:
1. Xcode 26.2+: Requerido para desarrollo en Swift.
2. Node.js 22+ y pnpm: Requeridos para gateway, CLI y scripts de empaquetado.
1. Instalar Dependencias
Instala las dependencias del proyecto:
pnpm install
2. Compilar y Empaquetar la App
Para compilar la app macOS y empaquetarla en ''dist/OpenClaw.app'', ejecuta:
./scripts/package-mac-app.sh
Si no tienes un certificado de Apple Developer ID, el script usará automáticamente ''firma ad-hoc'' (''-'').
Para modos de ejecución de desarrollo, flags de firma y solución de problemas de Team ID, ver el README de la app macOS:
https://github.com/openclaw/openclaw/blob/main/apps/macos/README.md
Nota
3. Instalar el CLI
La app macOS espera una instalación global del CLI ''openclaw'' para gestionar tareas en segundo plano.
Para instalarlo (recomendado):
1. Abre la app OpenClaw.
2. Ve a la pestaña de configuración General.
3. Haz clic en "Install CLI".
Alternativamente, instálalo manualmente:
npm install -g openclaw@'<version>'
Solución de Problemas
#
Falla la Compilación: Incompatibilidad de Toolchain o SDK
La compilación de la app macOS espera el SDK más reciente de macOS y toolchain Swift 6.2.
Dependencias del sistema (requeridas):
- Última versión de macOS disponible en Actualización de Software (requerida por SDKs de Xcode 26.2)
- Xcode 26.2 (toolchain Swift 6.2)
Verificaciones:
xcodebuild -version xcrun swift --version
Si las versiones no coinciden, actualiza macOS/Xcode y vuelve a ejecutar la compilación.
#
La App Falla al Conceder Permisos
Si la app falla cuando intentas permitir acceso a Reconocimiento de Voz o Micrófono, puede deberse a un cache TCC corrupto o incompatibilidad de firma.
Solución:
1. Resetea los permisos TCC:
bash tccutil reset All bot.molt.mac.debug bash
2. Si eso falla, cambia el ''BUNDLE_ID'' temporalmente en ''''scripts/package-mac-app.sh'''' para forzar un "limpio" desde macOS.
#
Gateway "Iniciando..." indefinidamente
Si el estado del gateway se queda en "Iniciando...", verifica si un proceso zombie está ocupando el puerto:
openclaw gateway status openclaw gateway stop lsof -nP -iTCP:18789 -sTCP:LISTEN
Si una ejecución manual está ocupando el puerto, detén ese proceso (Ctrl+C). Como último recurso, mata el PID que encontraste arriba.