Discovery was hard-coded to `.builtInWideAngleCamera` only — that catches the iOS front/back cameras and the macOS FaceTime HD on macOS 14+, but missed USB webcams (`.external` on 14+, `.externalUnknown` before) and iPhone-as-webcam Continuity Camera (`.continuityCamera` on 14+). On Macs whose built-in camera doesn't expose itself as `.builtInWideAngleCamera`, the result was "no camera detected". Device types are now platform-conditional: iOS keeps the wide-angle filter as-is; macOS adds the externals + Continuity (gated via `if #available(macOS 14.0, *)` for the post-14 forms vs the deprecated `.externalUnknown` for older macOS). The `#if os(macOS)` guard is unavoidable — `.external` and friends literally aren't declared as enum cases on iOS.
4.6 KiB
4.6 KiB