import AVFoundation public enum CameraAuthorization { public static func isAuthorized(for mediaType: AVMediaType) async -> Bool { let status = AVCaptureDevice.authorizationStatus(for: mediaType) switch status { case .authorized: return true case .notDetermined: return await withCheckedContinuation(isolation: nil) { cont in AVCaptureDevice.requestAccess(for: mediaType) { granted in cont.resume(returning: granted) } } case .denied, .restricted: return false @unknown default: return false } } }