Screen recording TCC permission overcome?

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>

Answered by DTS Engineer in 797318022

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 and SCContentSharingPicker. (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"

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 and SCContentSharingPicker. (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"

Thanks allot, you saved my life :) This is looking like video capture API. Can it also make screenshots?

Can it also make screenshots?

Check out the SCScreenshotManager class.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Screen recording TCC permission overcome?
 
 
Q