在我们的应用中,我们会将相机以模态框的形式显示在另一个UIViewController之上。但只有在iOS 8.x上,大约每10次缩放中就会导致崩溃:
我即将与苹果DTS联系,以查看是否有办法避免这种情况,或者环境中可能导致这种情况发生的原因。我想在这里提问,以防有人有其他想法。
这个崩溃在iOS 7.X下没有发生。 在任何型号的iPhone或iPad上都会发生。
PLImagePickerCameraView didHideZoomSlider:]: message sent to deallocated instance
已经存在一个SO帖子,其中有一种所谓的解决方法 - How-to find out what causes a didHideZoomSlider error on IOS 8? - 但是我尝试的每种变化都无法解决崩溃。建议是在dismissViewControllerAnimated:completion:
之前添加延迟。无论我尝试什么延迟,我仍然可以重现崩溃。
只有在以下情况下才会发生崩溃:(1)如果您缩放相机视图;(2)选择取消或拍照并退出相机时,所有这些都在缩放指示动画消失之前不久。这似乎是iOS 8.x中苹果没有修复的问题。它在苹果的代码中崩溃,与我们没有任何关系。
我看到了“快照一个未被渲染的视图会导致空的快照。在快照之前,请确保您的视图已经至少被渲染一次,或者在屏幕更新后再进行快照。”但这似乎与我们所做的事情无关,并且也指的是UIImagePickerController内部的代码。我即将与苹果DTS联系,以查看是否有办法避免这种情况,或者环境中可能导致这种情况发生的原因。我想在这里提问,以防有人有其他想法。
这个崩溃在iOS 7.X下没有发生。 在任何型号的iPhone或iPad上都会发生。
imagePickerControllerDidCancel:
和imagePickerController:didFinishPickingMediaWithInfo:
中都加上延迟时间。 - adamup