Итак, я знаю, как сделать снимок экрана с помощью UIKit:
UIWindow *window = [[[UIApplication sharedApplication] delegate] window];
UIGraphicsBeginImageContext(window.bounds.size);
[window.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
И я знаю, как сделать снимок экрана с помощью OpenGL
// Some preparation to read pixels into a buffer
glReadPixels(0,0,backingWidth, backingHeight, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
// Some code to massage the raw pixel data into an image
Мое приложение смешивает OpenGL и UIKit,поэтому любой скриншот, сделанный одним методом, выглядит неправильно.
Каков наилучший способ либо: a) объединить два изображения вместе, либо b) сделать снимок экрана, который может захватить и OpenGL, и UIKit вместе