Ios 经常在没有任何线索的情况下拍摄应用程序崩溃

Ios 经常在没有任何线索的情况下拍摄应用程序崩溃,ios,objective-c,camera,dismiss,Ios,Objective C,Camera,Dismiss,我使用UIIMagePicker控制器捕捉图像。在最初的30到40次拍摄中,摄像头捕捉效果很好,但在大约40次拍摄后,它会使应用程序崩溃。我在xcode上没有收到任何内存警告或崩溃报告 这个问题看起来像内存泄漏,但我已经监控了仪器,内存使用不会超过60MB 从库中拾取的图像不会导致此问题 我使用的代码:- - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(

我使用UIIMagePicker控制器捕捉图像。在最初的30到40次拍摄中,摄像头捕捉效果很好,但在大约40次拍摄后,它会使应用程序崩溃。我在xcode上没有收到任何内存警告或崩溃报告

这个问题看起来像内存泄漏,但我已经监控了仪器,内存使用不会超过60MB

从库中拾取的图像不会导致此问题

我使用的代码:-

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{

[MBProgressHUD showHUDAddedTo:self.view animated:true];
UIImage *chosenImage = info[UIImagePickerControllerOriginalImage];
NSDate *now = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"MMM-dd-yyyy";
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
timeFormatter.dateFormat = @"HH:mm a";
[timeFormatter setTimeZone:[NSTimeZone systemTimeZone]];   
NSString *strtime=[NSString stringWithFormat:@"%@\n%@ ",[timeFormatter stringFromDate:now],[dateFormatter stringFromDate:now]];
lblTime.numberOfLines =0;
[lblTime setText:strtime];
[lblTime setHidden:YES];
imgTakenPhoto.image = chosenImage;
[btnCrossOnDentView setHidden:YES];
[btnDoneWithDent setHidden:YES];
App_Delegate.isEdited = YES;
[picker dismissViewControllerAnimated:YES completion: ^{

               dispatch_async(dispatch_get_main_queue(), ^{
[MBProgressHUD hideAllHUDsForView:self.view animated:true];
imagePickerController = nil;
});   }];
}

我在目前的工作申请中也遇到了这个问题。这是因为运行应用程序时内存溢出。我在应用程序运行状态下删除了不必要的内存空间。现在我的应用程序运行良好,没有任何问题。

这是iPhone操作系统的问题。我还就这个问题提交了一份报告。同样的代码在iPad上也能正常运行。报告一个bug并提交您的项目。

最好的解决方法是,不要使用UIImagePicker for Camera,而是像WhatsApp一样使用您的自定义Camera视图,在其上提供一个捕获按钮,以捕获您想要的尽可能多的图片

使用


这将完全消除打开相机控制器的负担。

请确保您的设备已连接到原始电缆。我使用的是原始cabels,即使我没有调试它,并且使用设备上的应用程序,它也会崩溃。请共享您的信息。plist文件签入设备崩溃日志。共享崩溃日志,如果有的话。我很确定这是代码中的某种内存泄漏导致的。你们可以使用仪器来分析我提到的我的应用程序并没有耗尽内存。这是一个真正的iOS错误。如OP中所述,应用程序内存不是一个因素。