Commit 648fba4
Add deploy script that packages into a signed .app bundle
TCC will not honour an Accessibility grant for the bare Mach-O binary
the README installs, so key: actions silently do nothing no matter how
many times the permission is granted. Two compounding causes:
1. swift build leaves the binary linker-signed (flags 0x20002), which
TCC treats differently from a real ad-hoc signature.
2. Even after codesign --force --sign -, the grant is still ignored.
codesign reports the install directory as Format=bundle because of
the adjacent Info.plist, but there is no bundle structure behind it
and the plist is "not bound" into the signature, so there is no
stable identity for TCC to pin a grant to.
Running from a real .app bundle fixes it: Format=app bundle, Info.plist
sealed into the signature, real CFBundleIdentifier, LaunchAgent pointed
at Contents/MacOS/StreamDeckController.
Sign with a certificate rather than ad-hoc. An ad-hoc designated
requirement is a bare cdhash, so every rebuild is a new identity and
voids the grant; a certificate makes the requirement identifier +
certificate leaf, independent of the binary's contents. Verified by
rebuilding: cdhash changed from 30e7b6c9 to 5f4281b6 with the grant
still in effect.
Fail if the identity is missing rather than falling back to ad-hoc,
since the fallback appears to work and breaks key: actions later with
no error in the log.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent e5ddf0f commit 648fba4
1 file changed
Lines changed: 47 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
0 commit comments