Computer >> 컴퓨터 >  >> 프로그래밍 >> iOS

Swift에서 전면 카메라 사용하는 방법 완벽 가이드

Swift로 전면 카메라에 접근하기

Swift 앱에서 전면 카메라(Front Camera)를 사용하려면 먼저 현재 기기에서 사용 가능한 카메라 목록을 가져와야 합니다. 이 글에서는 기기의 카메라 목록을 조회하고, 그중 전면 카메라가 존재하는지 확인한 뒤 이를 활용하는 방법을 단계별로 살펴보겠습니다.

1단계: AVFoundation 프레임워크 임포트

카메라와 관련된 모든 기능은 AVFoundation 프레임워크에서 제공되므로, 가장 먼저 해당 프레임워크를 프로젝트에 임포트해야 합니다.

import AVFoundation

2단계: 카메라 목록 가져오기 및 전면 카메라 필터링

AVCaptureDevice가 제공하는 devices() 메서드를 호출하면 기기에서 사용 가능한 모든 카메라 목록을 얻을 수 있습니다. 여기서 filter 함수를 사용해 위치(position)가 전면(.front)인 카메라만 골라낼 수 있습니다.

guard let frontCamera = AVCaptureDevice.devices().filter({ $0.position == .front }).first as? AVCaptureDevice else {
   fatalError("Front camera not found")
}

위 코드는 다음과 같이 동작합니다.

  • devices() — 기기에 연결된 모든 캡처 디바이스(카메라) 목록을 반환합니다.
  • filter({ $0.position == .front }) — 반환된 목록에서 위치가 전면인 카메라만 남깁니다.
  • .first as? AVCaptureDevice — 필터링된 결과 중 첫 번째 요소를 AVCaptureDevice 타입으로 안전하게 변환합니다.

3단계: 재사용 가능한 함수로 만들기

위 로직을 함수로 감싸두면 필요할 때마다 손쉽게 전면 카메라 객체를 가져올 수 있습니다.

func checkCamera() {
   guard let frontCamera = AVCaptureDevice.devices().filter({ $0.position == .front }).first as? AVCaptureDevice else {
      fatalError("Front camera not found")
   }
}

참고 사항

주의 — 시뮬레이터에는 실제 카메라 하드웨어가 없기 때문에 위 코드는 반드시 실제 iOS 기기에서 테스트해야 합니다. 시뮬레이터에서 실행하면 카메라를 찾지 못해 오류가 발생합니다.

또한 카메라 접근은 개인정보 보호 정책에 따라 Info.plist에 NSCameraUsageDescription 키를 추가하고 사용자에게 권한을 요청해야 한다는 점도 함께 기억해 두세요.