hsleedevelop
hsleedevelop
hsleedevelop
  • 분류 전체보기 (25)
    • Develop (25)
      • CS (1)
      • iOS (7)
      • Swift (14)
      • SwiftUI (0)
      • Flutter (1)
      • React (1)

최근 글

인기 글

태그

  • Simulator
  • enum 연동하는 방법
  • Xcode 14 빌드 속도 올리는 방법
  • architecturel
  • excldue
  • Xcode 빌드
  • next-auth
  • Jump to definition
  • GoRoute Modal
  • CLIENT_FETCH_ERROR
  • Xcode 정의
  • html
  • addPostFrameCallback
  • GoRoute Popup
  • GoRouter
  • Xcode 베젤
  • Xcode Definition
  • Swift
  • GoRoute Nav
  • 시뮬레이터
  • XIB Inspectable
  • Xcode
  • Link
  • Xcode 정의로 이동하지 않고 우측 에디터에서 보는 방법
  • GoRoute 분기
  • xcode 팁
  • 스위프트
  • iOS QRCode
  • builtInWideAngleCamera
  • xcode 꿀팁

최근 댓글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
hsleedevelop

hsleedevelop

AVCaptureDevice 사용 시 iPhone14 Pro 이상의 카메라 설정 방법
Develop/Swift

AVCaptureDevice 사용 시 iPhone14 Pro 이상의 카메라 설정 방법

2023. 11. 23. 17:06
반응형

AVCaptureDevice 사용 시 일반적인 구글링이나 GPT에서 제공하는 샘플에서는

builtInWideAngleCamera 부분에 대해서만 제공되는 경우가 많은데 이렇게 적용할 경우,

 

QR 코드나 가까운 거리에서 물체를 잡으려고 할 떄 캡쳐 이미지가 흐릿하거나 초점이 맞지 않는 현상이 발생한다.

 

이런 경우, AVCaptureDevice의 DiscoverySession에서 카메라 모듈을 직접 설정해 주어야 

사물 가까이 접근했을 경우, 상황에 맞는 카메라로 변경된다. 

 

아래는 다양한 아이폰 디바이스에서 제공되는 카메라 종류를 추가한 코드이다.

    func setupDevice() {
        let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [
            AVCaptureDevice.DeviceType.builtInTripleCamera,
            AVCaptureDevice.DeviceType.builtInDualCamera,
            AVCaptureDevice.DeviceType.builtInWideAngleCamera], mediaType: AVMediaType.video, position: AVCaptureDevice.Position.unspecified)
        
        if let device = deviceDiscoverySession.devices.first {
            switch device.position {
            case AVCaptureDevice.Position.front:
                self.frontCamera = device
            case AVCaptureDevice.Position.back:
                self.backCamera = device
            default:
                break
            }
        }
        
        self.currentCamera = self.backCamera
    }

 

 

반응형

'Develop > Swift' 카테고리의 다른 글

스토리보드, XIB Inspectable에 enum 연동하는 방법  (0) 2023.01.29
M1 ARM-64 Simulator 지원하지 않는 프레임워크 수정하는 방법  (0) 2023.01.07
String에 HTML 링크 적용  (0) 2023.01.07
KingFisher에서 SVG 이미지 다운로드하는 방법  (0) 2022.11.13
SwiftUI 상에서 HTML 출력과 Link, CSS 적용하는 방법  (0) 2022.11.13
    'Develop/Swift' 카테고리의 다른 글
    • 스토리보드, XIB Inspectable에 enum 연동하는 방법
    • M1 ARM-64 Simulator 지원하지 않는 프레임워크 수정하는 방법
    • String에 HTML 링크 적용
    • KingFisher에서 SVG 이미지 다운로드하는 방법
    hsleedevelop
    hsleedevelop
    iOS, Swift js, node js, react c, c++, .net ruby, sql

    티스토리툴바