docs: document debug signing and bundle id

This commit is contained in:
Peter Steinberger
2025-12-06 23:46:25 +01:00
parent 6dafca79be
commit c3866b7d6b

24
docs/mac/signing.md Normal file
View File

@@ -0,0 +1,24 @@
# mac signing (debug builds)
This app is usually built from `scripts/package-mac-app.sh`, which now:
- sets a stable debug bundle identifier: `com.steipete.clawdis.debug`
- writes the Info.plist with that bundle id (override via `BUNDLE_ID=...`)
- adhoc signs the main binary, the bundled CLI, and the app bundle so macOS treats each rebuild as the same signed bundle and keeps TCC permissions (notifications, accessibility, screen recording, mic, speech)
## Usage
```bash
# from repo root
scripts/package-mac-app.sh
```
If you need a different bundle id (e.g. release build):
```bash
BUNDLE_ID=com.steipete.clawdis scripts/package-mac-app.sh
```
## Why
TCC permissions are tied to the bundle identifier *and* code signature. Unsigned debug builds with changing UUIDs were causing macOS to forget grants after each rebuild. Adhoc signing the binaries and keeping a fixed bundle id/path (`dist/Clawdis.app`) preserves the grants between builds, matching the VibeTunnel approach.