Files
openclaw/apps/shared/OpenClawKit/Sources/OpenClawKit/CameraAuthorization.swift
Peter Steinberger bfb015dbc5 fix(macos): silence Xcode 27 source warnings (#108081)
* fix(macos): silence Xcode 27 warnings

* fix(macos): silence remaining Swift 6.4 warnings
2026-07-15 01:49:23 -07:00

32 lines
985 B
Swift

import AVFoundation
#if !os(watchOS)
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:
#if compiler(>=6.4)
return await withCheckedContinuation { cont in
AVCaptureDevice.requestAccess(for: mediaType) { granted in
cont.resume(returning: granted)
}
}
#else
return await withCheckedContinuation(isolation: nil) { cont in
AVCaptureDevice.requestAccess(for: mediaType) { granted in
cont.resume(returning: granted)
}
}
#endif
case .denied, .restricted:
return false
@unknown default:
return false
}
}
}
#endif