Я придумал реализацию AVFoundation и ImageIO, чтобы позаботиться о фотосъемке в моем приложении. Однако у меня есть проблема с этим. Снимки, которые я делаю, всегда темные, даже если срабатывает вспышка. Вот код, который я использую:
[[self currentCaptureOutput] captureStillImageAsynchronouslyFromConnection:[[self currentCaptureOutput].connections lastObject]
completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) {
[[[blockSelf currentPreviewLayer] session] stopRunning];
if (!error) {
NSData *data = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
CGImageSourceRef source = CGImageSourceCreateWithData((CFDataRef) data, NULL);
if (source) {
UIImage *image = [blockSelf imageWithSource:source];
[blockSelf updateWithCapturedImage:image];
CFRelease(source);
}
}
}];
Есть ли что-нибудь, что может привести к тому, что на изображении не будет вспышки?