Hello,
we have a bunch of macs which we use for running automated UI test and we need to allow services kTCCServiceScreenCapture and kTCCServiceAccessibility to our application bundles (it's a kind of a screen sharing application).
We tried to do a direct change in:
- User's ~/Library/Application Support/com.apple.TCC/TCC.db but it doesn't take effect as it looks like these permissions need to be granted in system TCC database
- The system database at /Library/Application Support/com.apple.TCC/TCC.db is write-only due to rootless.
Is there any other way than completely disable SIP to grant these TCC permissions to our bundles?
Also we would be just fine to grant permissions manually when we're setting up the machine, but it seems these get reset from time to time. And that's my other question:
How the TCC validation works?
We're testing ad-hoc signed bundles as well as DeveloperID signed ones with the same Application ID and it seems that TCC gets confused over time and simply treats the permissions as not granted.
Would modifying csreq in TCC.db record to contain only requirement identifier=my.bundle.app.id
prevent this behavior or there is some other heuristics TCC uses for permission validation?
Thank you, o/