Хотя на SwiftUI проще создавать практически любые компоненты интерфейса, для работы с камерой требуются более низкоуровневые возможности AVFoundation.
📖 В этом материале можно посмотреть на пример решения такой задачи.
Для этого в примере используется четыре основных компонента:
CameraManager, CameraPreview (для бриджа превью-слоя AVFoundation в SwiftUI через UIViewRepresentable), CameraView - для взаимодействия с камерой и PhotoView (для фотогалереи).В комментариях ниже указали на недостатки этого примера.
И справедливое уточнение, что у Apple также есть хороший пример настройки в официальной документации (кстати, они там показывают пример использования и LockedCameraCapture).
😃 iOS Dev
