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.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“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).
Schnellstart
Abschnitt betitelt „Schnellstart“Befolge diese vier Schritte, um eine stabile Identität für deine App zu gewährleisten:
- Festen Pfad nutzen: Starte deine App immer aus demselben Verzeichnis, zum Beispiel direkt aus dem Build-Ordner
dist/OpenClaw.app. - 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.
- Bundle ID beibehalten: Ändere die Bundle ID nicht, da macOS diese nutzt, um die Berechtigungen in der TCC-Datenbank zuzuordnen.
- Workspace nutzen: Verschiebe Dateien für Tests in das Verzeichnis
~/.openclaw/workspace, um den Zugriffsschutz für Desktop- oder Dokumente-Ordner zu umgehen.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Wenn Prompts nicht mehr erscheinen oder der Zugriff verweigert wird, hilft dieser Ablauf:
- Beende die App und entferne den entsprechenden Eintrag manuell in den Systemeinstellungen unter “Datenschutz & Sicherheit”.
- Starte die App vom gewohnten Pfad neu und achte darauf, ob der Prompt erscheint.
- Setze die TCC-Einträge über das Terminal zurück, falls die App weiterhin blockiert wird.
- 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):
sudo tccutil reset Accessibility bot.molt.macsudo tccutil reset ScreenCapture bot.molt.macsudo tccutil reset AppleEventsBeachte: 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.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- App Signing Guide
- Local Development Workflow
OpenClaw Expert
Noch festgefahren?
Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.