iOS 8 UIImagePickerController在缩放时崩溃

5

我正在使用普通的UIImagePickerController来使用设备相机拍摄照片。以下是我用于创建UIImagePickerController的代码:

self.imagePickerController = [[UIImagePickerController alloc] init];
self.imagePickerController.modalPresentationStyle = UIModalPresentationCurrentContext;
self.imagePickerController.allowsEditing = NO;
self.imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
self.imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
self.imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceRear;
self.imagePickerController.delegate = self;

以下是我使用的代码来显示UIImagePickerController:
[self presentViewController:self.imagePickerController animated:YES completion:nil];

现在,当UIImagePickerController被呈现时,如果我放大以进行捕获并返回到我的展示视图控制器,应用程序会不规则地崩溃并出现BAD_ACCESS错误。通过编辑方案和一些调试,我看到以下错误: -[PLImagePickerCameraView didHideZoomSlider:]:消息发送到已释放的实例0x140109400。似乎放大滑块委托被调用在未分配的实例上。有其他人观察到这种行为吗?我正在使用iOS 8.1,并在iPhone 5S上测试它。对于PLImagePickerCameraView的搜索没有什么结果。在我决定使用自定义Picker之前,任何见解都将非常有用。

1
@Priyank - 你是怎么解决这个问题的? - tech_human
添加延迟似乎是目前唯一可行的解决方案。不想开发自定义相机功能。 - Priyank
1个回答

0

我也遇到了UIImagePickerController的缩放崩溃问题。加入延迟可以解决大部分,但不是全部崩溃。

根本原因是控制器在委托被释放后尝试回调委托。最终我实现了一个子类化的UIImagePickerController来移除滑块视图的委托。

你可以在类似问题中找到我发布的一些示例代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接