Я использую проект примера AVCam, последнюю версию с начала этого месяца (февраль 2014 г.). Я добавил функциональность выбора вспышки и удалил функцию записи, но я не думаю, что это имеет отношение к проблеме.Инициализация AVCamPreviewView медленная и иногда вызывает сбои после закрытия/повторного открытия - с использованием проекта примера AVCam
При изменении вида и повторного открытия AVCam несколько раз подряд приложение либо выходит из строя, либо требуется, чтобы представление предварительного просмотра было инициализировано (~ 15 секунд). Иногда это происходит.
Я предположил, вопрос относится к очистке при изменении точки зрения, но пример имеет то, что выглядит быть тщательно очистить:
- (void)viewDidDisappear:(BOOL)animated
{
dispatch_async([self sessionQueue], ^{
[[self session] stopRunning];
[[NSNotificationCenter defaultCenter] removeObserver:self name:AVCaptureDeviceSubjectAreaDidChangeNotification object:[[self videoDeviceInput] device]];
[[NSNotificationCenter defaultCenter] removeObserver:[self runtimeErrorHandlingObserver]];
[self removeObserver:self forKeyPath:@"sessionRunningAndDeviceAuthorized" context:SessionRunningAndDeviceAuthorizedContext];
[self removeObserver:self forKeyPath:@"stillImageOutput.capturingStillImage" context:CapturingStillImageContext];
[self removeObserver:self forKeyPath:@"movieFileOutput.recording" context:RecordingContext];
});
}
Вот мой код для изменения вида (отправки захваченного изображения в на то же самое время) (я загружаю вид с помощью раскадровки действия модального):
-(void)dealWithNewImage:(UIImage*)imageIn {
[self saveCamState];
//change view and send us the image
UIStoryboard *storyboard = self.storyboard;
DrawingController *drawView = (DrawingController *)[storyboard instantiateViewControllerWithIdentifier:@"DrawingView"];
drawView.imageIn = imageIn;
[self presentViewController:drawView animated:NO completion:nil];
}
Я понятия не имею, что является причиной аварии, и почему иногда предварительный просмотр камеры занимает ~ 15 секунд для отображения.
Заранее благодарим за любую помощь!