Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
mac-ondertekening (debugbuilds)
Deze app wordt meestal gebouwd vanuitscripts/package-mac-app.sh, dat nu:
- een stabiele debug-bundle-identificatie instelt:
ai.openclaw.mac.debug - de Info.plist schrijft met die bundle-id (overschrijf via
BUNDLE_ID=...) scripts/codesign-mac-app.shaanroept om de hoofdbinary en app-bundle te ondertekenen, zodat macOS elke rebuild als dezelfde ondertekende bundle behandelt en TCC-machtigingen behoudt (meldingen, toegankelijkheid, schermopname, microfoon, spraak). Gebruik voor stabiele machtigingen een echte ondertekeningsidentiteit; ad-hoc is opt-in en kwetsbaar (zie macOS-machtigingen).- standaard
CODESIGN_TIMESTAMP=autogebruikt; dit schakelt vertrouwde tijdstempels in voor Developer ID-handtekeningen. StelCODESIGN_TIMESTAMP=offin om tijdstempels over te slaan (offline debugbuilds). - buildmetadata in Info.plist injecteert:
OpenClawBuildTimestamp(UTC) enOpenClawGitCommit(korte hash), zodat het Infovenster build, git en debug-/releasekanaal kan tonen. - Packaging gebruikt standaard Node 24: het script voert TS-builds en de Control UI-build uit. Node 22 LTS, momenteel
22.14+, blijft ondersteund voor compatibiliteit. SIGN_IDENTITYuit de omgeving leest. Voegexport SIGN_IDENTITY="Apple Development: Your Name (TEAMID)"(of je Developer ID Application-certificaat) toe aan je shell-rc om altijd met je certificaat te ondertekenen. Ad-hocondertekening vereist expliciete opt-in viaALLOW_ADHOC_SIGNING=1ofSIGN_IDENTITY="-"(niet aanbevolen voor machtigingstests).- na het ondertekenen een Team ID-audit uitvoert en faalt als een Mach-O binnen de app-bundle door een andere Team ID is ondertekend. Stel
SKIP_TEAM_ID_CHECK=1in om dit over te slaan.
Gebruik
Opmerking over ad-hocondertekening
Bij ondertekening metSIGN_IDENTITY="-" (ad-hoc) schakelt het script automatisch de Hardened Runtime (--options runtime) uit. Dit is nodig om crashes te voorkomen wanneer de app ingesloten frameworks probeert te laden (zoals Sparkle) die niet dezelfde Team ID delen. Ad-hochandtekeningen verbreken ook het behoud van TCC-machtigingen; zie macOS-machtigingen voor herstelstappen.
Buildmetadata voor Info
package-mac-app.sh stempelt de bundle met:
OpenClawBuildTimestamp: ISO8601 UTC op het moment van packagenOpenClawGitCommit: korte git-hash (ofunknownals die niet beschikbaar is)
#if DEBUG). Voer de packager uit om deze waarden na codewijzigingen te vernieuwen.
Waarom
TCC-machtigingen zijn gekoppeld aan de bundle-identificatie en de codehandtekening. Niet-ondertekende debugbuilds met wisselende UUID’s zorgden ervoor dat macOS toekenningen na elke rebuild vergat. Het ondertekenen van de binaries (standaard ad-hoc) en het behouden van een vaste bundle-id/pad (dist/OpenClaw.app) bewaart de toekenningen tussen builds, overeenkomstig de VibeTunnel-aanpak.