Cómo lanzar OpenClaw en macOS con Sparkle
Distribuir aplicaciones en macOS puede ser un proceso frustrante. Entre certificados, perfiles de notarización y la gestión de actualizaciones automáticas, es fácil perderse en configuraciones que fallan sin previo aviso. Si quieres evitar que Gatekeeper bloquee tu app o que el sistema de actualizaciones falle, necesitas un flujo de trabajo sólido.
Aquí tienes la guía para gestionar los lanzamientos de OpenClaw usando Sparkle, asegurando que tus usuarios reciban las actualizaciones de forma automática y segura.
Requisitos previos
Sección titulada «Requisitos previos»- Certificado
Developer ID Applicationinstalado en tu sistema. - Ruta de la clave privada de Sparkle configurada en
SPARKLE_PRIVATE_KEY_FILE. - Credenciales de notarización configuradas en un perfil de Keychain llamado
openclaw-notary. - Dependencias de
pnpminstaladas mediantepnpm install --config.node-linker=hoisted.
Inicio rápido
Sección titulada «Inicio rápido»Para generar un paquete distribuible y notarizado, sigue estos pasos en tu terminal. El valor de APP_BUILD debe ser siempre numérico y progresivo para que Sparkle pueda comparar las versiones correctamente.
# Configura las credenciales de notarización (solo una vez)echo "$APP_STORE_CONNECT_API_KEY_P8" | sed 's/\\n/\n/g' > /tmp/openclaw-notary.p8xcrun notarytool store-credentials "openclaw-notary" --key /tmp/openclaw-notary.p8 --key-id "$APP_STORE_CONNECT_KEY_ID" --issuer "$APP_STORE_CONNECT_ISSUER_ID"
# Construye y firma la aplicaciónBUNDLE_ID=ai.openclaw.mac \APP_VERSION=2026.3.7 \BUILD_CONFIG=release \SIGN_IDENTITY="Developer ID Application: <Developer Name> (<TEAMID>)" \scripts/package-mac-app.sh
# Crea el archivo zip para distribuciónditto -c -k --sequesterRsrc --keepParent dist/OpenClaw.app dist/OpenClaw-2026.3.7.zip
# Recomendado: Construir, notarizar y grapar (staple) el zip y DMGNOTARIZE=1 NOTARYTOOL_PROFILE=openclaw-notary \BUNDLE_ID=ai.openclaw.mac \APP_VERSION=2026.3.7 \BUILD_CONFIG=release \SIGN_IDENTITY="Developer ID Application: <Developer Name> (<TEAMID>)" \scripts/package-mac-dist.sh
# Generar el appcast para SparkleSPARKLE_PRIVATE_KEY_FILE=/path/to/ed25519-private-key scripts/make_appcast.sh dist/OpenClaw-2026.3.7.zip https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xmlSolución de problemas
Sección titulada «Solución de problemas»Sparkle no detecta la actualización
Si omites APP_BUILD, el script intentará derivar uno. Si este valor no es estrictamente numérico y monótono, Sparkle lo tratará como una versión igual y no activará la actualización. Asegúrate de que el valor crezca en cada lanzamiento.
Error de clave privada de Sparkle
Si el script falla al firmar el appcast, verifica que SPARKLE_PRIVATE_KEY_FILE apunte a tu clave ed25519. Si la variable no está definida, revisa tu archivo ~/.profile.
Fallo en la verificación del appcast Tras subir los archivos a GitHub, realiza estas comprobaciones manuales:
- Ejecuta
curl -I https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xmly verifica que devuelva un código 200. - Confirma que la URL del archivo zip dentro del appcast también devuelva un código 200.
Próximos pasos
Sección titulada «Próximos pasos»OpenClaw Expert
Sigues atascado?
Si esta pagina no resolvio tu caso, pregunta a OpenClaw Expert para pasos concretos.