본문 바로가기

프로그래밍/iOS

[ios] presetPhoto 고찰

AVCaptureSession에는 다양한 preset이 존재한다.

 

 

AVCaptureSessionPresetLow

AVCaptureSessionPresetMedium

 

AVCaptureSessionPresetHigh

 

AVCaptureSessionPresetPhoto

 

AVCaptureSessionPresetLow

 

 

AVCaptureSessionPreset640X480

 

AVCaptureSessionPreset960X540

 

AVCaptureSessionPreset1280X720

 

AVCaptureSessionPreset1920X1080

 

숫자로 쓰여있는건 확연히 해당 해상도로 셋팅하는거로 알겠는데

위의 Low시리즈 들은 기기마다 다른값을 가진다. (default값은 high로 설정되어 있음)

최근 프로젝트들에서 200만 화소를 기준으로 하기 때문에 1920X1080값을 계속 사용하고 있었지만,

300만 화소가 필요하다고 하여 5s단말로 High를 설정해보니 1920X1080값을 가지고 있다.

어쩔수 없이 올리기 위해서는 Photo를 써야하는데 이를 셋팅하고 촬영을 하니(2~3번째 혹은 여러번 촬영할 시)

 

 

Error Domain=AVFoundationErrorDomain Code=-11800 "The operation couldn’t be completed. (AVFoundationErrorDomain error -11800.) UserInfo=0x1696f0 {NSUnderlyingError=0x169a40 "The operation couldn’t be completed. (OSStatus error -12780.)

 

위와 같이 알 수 없는 에러를 뱉으면서 사진 촬영이 되지 않는다.

에러메시지 확인하는 방법은 터미널 창에서

 macerror -숫자

쳐보면 무슨 에런지 나온다.

내 경우에는 Unknown error라고 뱉어내니깐 문제지만..

 

아이폰 4, 아이패드4, 아이폰6 모두 문제가 없는데

아이폰 5s로만 찍으면 2~3번째 촬영 시 저러고 멈추어 버린다.

 

현재 촬영에 가속도계를 같이 사용하고 있어, 이를 사용하지 않고 바로 찍으면 위 에러 현상이 사라져

일시적으로는 이렇게 해결하고 있지만, 하드웨어 에런지 잘 모르겠다.(ios8.1.2버전 까지 똑같은 현상이 나타난다.)

버전업이 되어 해결이 되거나 해결방안을 알게되면 추가해야겠다.