iPhoneで写真を撮っているときに、メモリの警告が表示され、アプリがクラッシュします。カメラを開くコードが機能し、写真がキャプチャされた後のコードが機能するため、これに対処する方法がわかりませんが、エラーはアプリの写真セクションを撮影するカメラのどこかにあります...
私はこのようにカメラを起動しています:
imagePicker = [[UIImagePickerController alloc] init];
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
}
else
{
[imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
}
if ([UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear]) {
imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
} else if ([UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceFront]) {
imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
}
imagePicker.delegate = self;
[self presentModalViewController:imagePicker animated:YES];
「メモリ警告を受信しました」というメッセージが表示されます。Recorder_SourceStartedおよびAVCaptureDeviceDidStartRunningNotificationの直前。
次に、アプリがクラッシュする前に、Recorder_DidStartPreviewing、Recorder_FlashStateChanged、Recorder_DidStartFocusOperation、Recorder_DidCompleteFocusOperation、Recorder_FlashStateChanged、Recorder_WillCapturePhoto、Recorder_DidCapturePhoto、およびRecorder_PhotoStillImageSampleBufferReadyを取得します。
Recorder_PhotoStillImageSampleBufferReadyは、アプリがクラッシュする前に受け取る最後の通知です。_UIImagePickerControllerUserDidCaptureItemに到達しません。その時点で、アプリは私が再度作成したコードの実行を開始します。
クラッシュしない場合があります...メモリの警告が表示され、アプリは正常に動作し続けますが、このメモリの警告が原因でクラッシュする可能性があり、テスト中にクラッシュが発生するので、これを引き起こしている原因を突き止め、修正してください。
どんな助けでも素晴らしいでしょう!ありがとう!