Zum Inhalt springen

macOS Berechtigungen (TCC) stabil halten

Es gibt kaum etwas Frustrierenderes, als wenn macOS plötzlich Berechtigungen vergisst, die du gerade erst bestätigt hast. Oft liegt das daran, dass das System die App nach einem Build als komplett neu einstuft, was deinen Workflow jedes Mal aufs Neue unterbricht.

Besonders beim Entwickeln von Apps, die Zugriff auf das System brauchen, können verschwindende Prompts oder hängende Dateizugriffe wertvolle Zeit kosten. Das liegt meist an der Art, wie macOS die TCC-Datenbank (Transparency, Consent, and Control) verwaltet.

Damit die Berechtigungen stabil bleiben, müssen laut Dokumentation folgende Voraussetzungen erfüllt sein:

  • Ein fester Dateipfad für die App (z. B. dist/OpenClaw.app).
  • Eine konsistente Bundle Identifier.
  • Ein gültiges Apple Development oder Developer ID Zertifikat.
  • Eine signierte App (keine Ad-hoc-Signatur).

Befolge diese vier Schritte, um eine stabile Identität für deine App zu gewährleisten:

  1. Festen Pfad nutzen: Starte deine App immer aus demselben Verzeichnis, zum Beispiel direkt aus dem Build-Ordner dist/OpenClaw.app.
  2. Echtes Zertifikat verwenden: Signiere deine App mit einem echten Apple Developer Zertifikat. Ad-hoc-Signaturen erzeugen bei jedem Build eine neue Identität, wodurch macOS alte Freigaben sofort verwirft.
  3. Bundle ID beibehalten: Ändere die Bundle ID nicht, da macOS diese nutzt, um die Berechtigungen in der TCC-Datenbank zuzuordnen.
  4. Workspace nutzen: Verschiebe Dateien für Tests in das Verzeichnis ~/.openclaw/workspace, um den Zugriffsschutz für Desktop- oder Dokumente-Ordner zu umgehen.

Wenn Prompts nicht mehr erscheinen oder der Zugriff verweigert wird, hilft dieser Ablauf:

  1. Beende die App und entferne den entsprechenden Eintrag manuell in den Systemeinstellungen unter “Datenschutz & Sicherheit”.
  2. Starte die App vom gewohnten Pfad neu und achte darauf, ob der Prompt erscheint.
  3. Setze die TCC-Einträge über das Terminal zurück, falls die App weiterhin blockiert wird.
  4. Führe einen vollständigen macOS-Neustart durch, da manche Berechtigungen erst danach wieder korrekt abgefragt werden.

Verwende diese Befehle für den Reset (ersetze die Bundle ID bei Bedarf):

Terminal-Fenster
sudo tccutil reset Accessibility bot.molt.mac
sudo tccutil reset ScreenCapture bot.molt.mac
sudo tccutil reset AppleEvents

Beachte: Falls Dateizugriffe in der Shell oder bei Background-Prozessen hängen, musst du die Berechtigung oft dem übergeordneten Prozess erteilen (z. B. dem Terminal oder dem SSH-Prozess).

Hast du spezifische Fragen zu deinem Setup? Frag unseren AI Setup Assistant.

  • App Signing Guide
  • Local Development Workflow
OpenClaw

OpenClaw Expert

Noch festgefahren?

Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.