Enum ScreenRecordingPermissionStatus
- Namespace
- VisioForge.Core.Helpers
- Assembly
- VisioForge.Core.dll
Result of a screen-recording permission request on macOS / Mac Catalyst.
public enum ScreenRecordingPermissionStatusFields
Granted = 0-
Permission is already granted; screen capture will succeed.
Denied = 1-
Permission is not (yet) granted. Either the user has never been prompted, or they explicitly denied it — these are indistinguishable via the system API. Call VisioForge.Core.Helpers.PermissionsHelper.RequestScreenRecordingPermission(VisioForge.Core.BaseContext) to post the TCC dialog on first run; if it has already been shown, the user must enable access in System Settings → Privacy & Security → Screen & System Audio Recording and relaunch the app.
NotApplicable = 2-
The current platform does not require screen-recording permission.
Unavailable = 3-
The underlying TCC API could not be invoked — typically an EntryPointNotFoundException or DllNotFoundException from a stripped or sandbox-restricted CoreGraphics runtime. Distinct from VisioForge.Core.Helpers.ScreenRecordingPermissionStatus.Denied because the caller's UI should not tell the user "you denied access" when in fact the check never ran.
Remarks
NotDetermined is intentionally not exposed: the underlying
CGPreflightScreenCaptureAccess API cannot distinguish "never prompted"
from "explicitly denied", so both are reported as VisioForge.Core.Helpers.ScreenRecordingPermissionStatus.Denied. Callers
should always invoke VisioForge.Core.Helpers.PermissionsHelper.RequestScreenRecordingPermission(VisioForge.Core.BaseContext)
when the status is VisioForge.Core.Helpers.ScreenRecordingPermissionStatus.Denied — the system dialog appears on first run
and becomes a no-op after the user has made a choice.