Этот тоже работает довольно хорошо. Используйте его, когда открыт предварительный просмотр камеры:
UIImage *viewImage = [[(id)objc_getClass("PLCameraController")
performSelector:@selector(sharedInstance)]
performSelector:@selector(_createPreviewImage)];
Но, насколько я выяснил, это дает те же результаты, что и следующее решение, которое делает «снимок экрана» текущего экрана:
extern CGImageRef UIGetScreenImage();
CGImageRef cgoriginal = UIGetScreenImage();
CGImageRef cgimg = CGImageCreateWithImageInRect(cgoriginal, rect);
UIImage *viewImage = [UIImage imageWithCGImage:cgimg];
CGImageRelease(cgoriginal);
CGImageRelease(cgimg);
Проблема, которую я до сих пор не нашел, заключается в том, как можно получить изображение с камеры очень быстро без наложений?