티스토리 뷰

반응형

 

안녕하세요 :) Zedd입니다.

**

** * **** ***

 

욕아님

 

 

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[AVCaptureDevice setActiveColorSpace:] Not supported - use activeFormat.supportedColorSpaces'

라는 에러를 본 당신..

~  축하합니다. ~

 

네 이게 언제생기냐면요

응 개평범

 

crash가 나는 순서를 알려드릴게요.

 

아이패드 이미지 넘 커서; 이렇게 할 수 밖에 없었습니당

암튼 어떤 버튼이 있고, 그걸 누르면 1번 화면이 뜹니다.

당연히 카메라를 써야하니까 권한을 물어보겠죠?! 확인을 눌러줍니다.

그럼 2번 화면처럼 될거에요. 여기서 오른쪽 아래의 cancel버튼을 눌러줍니다. 

그럼 아까 우리 버튼 클릭했던 화면으로 돌아갈거에요. 

그리고 다시 버튼을 클릭해서 카메라를 열어줍니다.

위 코드에서 볼 수 있듯이 mediaType에 Image말고 Movie도 있기 때문에

비디오도 찍을 수 있어요. 

 

Video를 찍으려고 Video로 옮기는 순간....

 

응 crash

 

아무튼..아니 뭔가 

진짜 솔직히 전혀 문제 없는 코드잖아요ㅕ 진짜 애플 개

근데 문제가 생겨버리네요...

www.stackoverflow.com/questions/58300014/uiimagepickercontroller-crashes-when-switching-to-video-from-camera

 

UIImagePickerController crashes when switching to video from camera

I have a crash with UIImagePickerController on iPhones with iOS 13 (real device) after switching to video capture mode. Crash reproduces on the second presentation of UIImagePickerController. Crash...

stackoverflow.com

아니 이거 하면 된대요.

근데 진짜 crash안남...

근데 이게 Device를 좀 타는것 같아요..

www.stackoverflow.com/questions/57922199/application-crashing-when-opening-camera-to-capture-video-only-on-iphone-xr

 

Application crashing when opening camera to capture video only on iPhone XR

I'm getting the below crash and error message only on iPhone XR. ** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '** -[AVCaptureDevice setActiveColorSpace:] Not

stackoverflow.com

여기 보면 iPhone XR에서만 crash난다는 것도 있고...

 

조금 분석을 해보겠습니다.

videoQuality에는 

QualityType을 넣을 수 있는데, 기본값은 typeMedium입니다.

제가 Device를 탄다고 아주 조금 확신한건...

아이패드 프로 2세대에서 물론 typeIFrame1280x720도 crash를 안내지만,

typeHigh는 괜찮고 typeLow가 crash를 냅니다.

(기본값이 Medium이니 Medium도 crash내는거)

 

제 추측은;;;

-[AVCaptureDevice setActiveColorSpace:] Not supported - use activeFormat.supportedColorSpaces'

암튼 이거 너무 추측인데zzzzzzzz 아이패드 프로는 typeLow하게 찍을 수 없는데.....아 너무 억측인가? 

그러니까 typeLow, typeMedium으로 찍는게 지원되지 않는데,

그렇게 찍어서 그런가!?>!?!?!?!?!?!?!!? (기본값이 Medium이니까)

"Not supported" 가 뭔가 그런 느낌임 

 

그리고....제가 아이폰 6s+로 해봤을때는 typeLow로 해도 crash가 나지 않습니다..!!

물론 Medium도 crash가 나지 않음.  

즉 

위 코드를 안넣어줘도 crash가 안남!!!! 6s+에서는!!!!

그렇다고 6s+에서 typeHigh한다고 crash나는것도 아니네요.

 

ㅈㅔ가 너무 극과 극인 Device를 가지고 있어서 이 사이의 Device들은 모르겠네요..

시뮬레이터로는 테스트도 안되니 ㅎ

 

 

근데 이 이슈의 의아함...은 cancel을 한번 하고 나서 들어가야 crash가 난다는 것입니다........

만약 아이패드에서

위 코드가 없는 상태에서

cancel을 하지 않고 바로 Video로 이동하면 권한 잘 물어보고 crash도 안납니다.

아무튼 저는 일단 ㅎ typeIFrame1280x720로.......해결을 해야겠어요..ㅠㅠ

 

여러분들도..UIImagePickerController를 사용하고 계시다면 crash나는지 한번 확인해보시는게 좋겠죠!?!?!?

 

다양한 추측은 환영입니다.

혹시 더 정확한 이유를 알고계시는 분이 계시다면 댓글 달아주세요 !!!! 

 

 

반응형

'공부' 카테고리의 다른 글

Metal ) Metal Tutorial 따라해보기 / Metal에서 중요한 개념 익히기  (1) 2020.06.14
Github Actions ) Archive and export  (2) 2020.05.25
Color Asset을 코드로 만들어보자  (3) 2020.04.29
SwiftGen  (2) 2020.04.28
R.swift  (0) 2020.04.28