2014-12-11 1 views
3

앱에서 다른 UIViewController 위에 카메라를 모달로 표시합니다.UIImagePickerController가 iOS 8.x에서만 확대/축소 기능을 사용하여 취소시 충돌합니다

PLImagePickerCameraView didHideZoomSlider :] : 아이폰 OS 8.x의에서만 약 1/10의 시간을 당신은 당신이 충돌로 바람을 확대하는 경우 메시지 할당이 해제 된 경우

로 전송이있는 SO 기존의 게시물이 있습니다 가정 된 해결 방법 - How-to find out what causes a didHideZoomSlider error on IOS 8? -하지만 내가 시도한 모든 변형은 충돌을 해결하지 못합니다. 제안은 dismissViewControllerAnimated:completion: 전에 지연을 가하는 것입니다. 어떤 지연을 시도해도 계속 충돌을 재현 할 수 있습니다.

확대/축소 표시 애니메이션이 사라지기 직전에 카메라보기를 확대하거나 (2) 취소를 선택하거나 사진을 찍은 다음 카메라를 종료하는 경우에만 (1) 발생합니다. Apple이 고치지 않은 iOS 8.x에서는 문제가있는 것 같습니다. 우리가 가지고있는 어떤 것에도 개입하지 않으면 애플 코드에 충돌이 난다.

"렌더링되지 않은 뷰를 스냅 샷으로 만들면 빈 스냅 샷이 생성됩니다. 스냅 샷이나 스냅 샷이 화면에 업데이트되기 전에 뷰가 적어도 한 번 렌더링되었는지 확인하십시오." 하지만 이것은 무관 ​​한 것으로 보이며 UIImagePickerController 내부의 코드를 참조하고 있습니다.

Apple DTS를 피하려고 어떤 방법을 사용할 수 있는지, 환경에서 어떤 일이 일어날 수 있는지 알아보기위한 것입니다. 나는 누군가가 다른 아이디어를 가지고있는 경우에 대비하여 여기에 묻기를 생각했다.

이 충돌은 iOS 7.X에서 발생하지 않았습니다. 모든 모델 iPhone 또는 iPad에서 발생합니다.

+0

'메시지는 할당 해제 된 인스턴스로 전송되었습니다 .' 당신은 제시 컨트롤러에서 이미지 피커에 대한 강력한 참조를 유지하려고 시도 했습니까? – Jack

+0

예, 기본 UIViewController는 강한 심판에서 선택 도구를 보유합니다. – ahwulf

+0

@ahwulf -이 문제를 어떻게 해결하셨습니까? 이미지 피커를 약한 참조로 만들고 있습니까? 심지어 나는 똑같은 문제에 직면하고있다. –

답변

1

애플의 대답은 "버그 다. 레이더에 파일로 담겨있다. 슬라이더가 사라질 때까지 잠깐 기다리라는 (사용자 지원 담당자가 사용자에게 알리는) 이외의 해결 방법은 없습니다. 카메라를 직접 구현하고 줌 기능을 지원하는 것 이외에 할 수있는 일은 없습니다.

아마도 Apple은 8.2에서이 문제를 해결할 것입니다.

+2

모두에서 해고에 지연을 추가하는 것을 잊지 마시고, 여전히 8.2에서 충돌합니다. 아마 8.3. – ahwulf

+1

불행히도 8.3에서 여전히 충돌합니다. – PaulB

+0

9.2에서 계속 충돌 함 – AhabLives

관련 문제