try to fix issue #3261 with new api, but not sure if it works

This commit is contained in:
rustdesk
2023-07-10 17:31:04 +08:00
parent 4e19777ba0
commit a96eb236c1
3 changed files with 32 additions and 1 deletions

View File

@@ -4,6 +4,27 @@
#include <Security/Authorization.h>
#include <Security/AuthorizationTags.h>
extern "C" bool CanUseNewApiForScreenCaptureCheck() {
#ifdef NO_InputMonitoringAuthStatus
return false;
#else
NSOperatingSystemVersion version = [[NSProcessInfo processInfo] operatingSystemVersion];
return version.majorVersion >= 11;
#endif
}
extern "C" bool IsCanScreenRecording(bool prompt) {
#ifdef NO_InputMonitoringAuthStatus
return false;
#else
bool res = CGPreflightScreenCaptureAccess();
if (!res && prompt) {
CGRequestScreenCaptureAccess();
}
return res;
#endif
}
// https://github.com/codebytere/node-mac-permissions/blob/main/permissions.mm