Table of Contents

Enum ScreenRecordingPermissionStatus

Namespace
VisioForge.Core.Helpers
Assembly
VisioForge.Core.dll

Result of a screen-recording permission request on macOS / Mac Catalyst.

public enum ScreenRecordingPermissionStatus

Fields

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.