Hi, I am developing a background screen recording app and macOS Sequoia is constantly blocking the app after restart with a nag screen "Confirm to continue the screen recording". That's looking insane!
I know that the built-in Grab Screenshot app is not requesting any permission and that is an anti-competitive beaviour! I have found inside the compiled code the following plist XML code that disables the software firewall TCC, implemented by Apple. It's undocumented for no reason. Anyone knows how to repeat this unblocking tweak?
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.private.screencapture.allow</key> <true/> <key>com.apple.private.tcc.allow</key> <array> <string>kTCCServiceScreenCapture</string> </array> </dict> </plist>
There are two parts to this:
-
Entitlements
-
macOS 15 beta dropping the Screen Recording privilege
Regarding the first, the entitlements you listed are in the com.apple.private.*
namespace and thus not available for third-party use.
Regarding the second, have you adopted ScreenCaptureKit yet? If not, I suggest you do.
Note that the macOS Sonoma 14 Release Notes say:
Use of legacy
CGDisplayStream
APIs to capture screen content will result in additional consent alerts. (110529324)
And this is further tightened in macOS 15 beta, where the macOS Sequoia 15 Beta Release Notes say:
Applications utilizing deprecated APIs for content capture such as
CGDisplayStream
&CGWindowListCreateImage
can trigger system alerts indicating they might be able to collect detailed information about the user. Developers need to migrate to ScreenCaptureKit andSCContentSharingPicker
. (120910350)
If you’re doing something that’s not supported by ScreenCaptureKit, the time to an enhancement request for the features you need is now.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"