【发布时间】:2015-10-27 10:48:32
【问题描述】:
这是我的代码的一部分:
self.rearPicker = [[UIImagePickerController alloc] init];
self.rearPicker.delegate = self;
self.rearPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.rearPicker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
self.rearPicker.showsCameraControls = NO;
dispatch_async(dispatch_get_main_queue(), ^{
[self presentViewController:self.rearPicker animated:YES completion:^{
// send log to my server.And log's success in sending shows that everything goes pretty well until this line.
@try {
// I think it's this line of code that causes crash on some device. What else can I do to avoid crashes besides @try-@catch.
[self.rearPicker performSelector:@selector(takePicture) withObject:nil afterDelay:3.f];
}
@catch (NSException *exception) {
[self dismissViewControllerAnimated:YES completion:nil];
}
@finally {
// do nothing for now
}
}];
});
//根据我的登录服务器和crash log,在某些设备上我的App可以正常执行
[self.rearPicker performSelector:@selector(takePicture) withObject:nil afterDelay:3.f];
// 但在此之后某处坠毁。崩溃日志有以下两种:
*** setObjectForKey:对象不能为nil(键:UIImagePickerControllerOriginalImage)
*** 相机:查找 mogul 的捕获设备格式时出错
// 我真的很困惑。我怎样才能捕捉到这两个异常?感谢您的耐心和善意!
【问题讨论】:
-
请添加takePicture方法
-
takePicture 方法是 iOS SDK 方法“-[UIImagePickerController takePicture]”。谢谢!
标签: ios exception crash uiimagepickercontroller